В настоящее время я использую djmoney
для хранения информации о деньгах в моей базе данных. Сейчас мне нужно вручную установить значения в моей форме, поэтому я использую
class MyForm(forms.Form):
money = MoneyField()
...
def view(request):
form = MyForm(initial={ 'money' : Money(0.5, 'USD')})
Но это не работает, потому что, как я позже выяснил, MoneyField
использует default_amount
и default_currency
kwargs дляустановить его.
Кроме того, я провел некоторое исследование и посмотрел в код , чтобы посмотреть, что я могу с этим поделать. Итак, я попытался:
- Настройки
form.fields['money'].initial = [ 0.5, 'USD' ]
(как автор внутри MoneyField
реализация. - Или установка нового объекта виджета после инициализации формы:
form.fields['money'].widget = MoneyWidget(default_currency='USD')
Но ничего из этого не сработало для меня. Так как мне установить динамическую форму MoneyField
?