如何动态设置djmoney中的MoneyField的值?

时间:2019-11-04 17:58:20

标签: django django-forms

当前,我正在使用djmoney将钱信息存储在我的数据库中。现在我需要在表单中手动设置值,所以我使用

class MyForm(forms.Form):
    money = MoneyField()

...

def view(request):
    form = MyForm(initial={ 'money' : Money(0.5, 'USD')})

但这是行不通的,因为正如我后来发现的那样,MoneyField使用default_amountdefault_currency kwargs来设置它。

我也做了一些研究,并在code中进行了研究,以了解我能对此做些什么。所以我尝试了:

  1. 设置form.fields['money'].initial = [ 0.5, 'USD' ](类似于MoneyField实现中的作者。
  2. 或在表单初始化后设置新的小部件对象: form.fields['money'].widget = MoneyWidget(default_currency='USD')

但是这些都不适合我。那么如何动态设置表单MoneyField

0 个答案:

没有答案