我正在使用django-money并且我有一个货币字段(value = MoneyField(…)
)我想以模型形式进行测试。这是代码:
def test_post_valid(self):
data = {'value': Money('99.99', currency='GBP'), }
response = self.client.post(url, data)
我在表单解析代码中遇到错误:
(Pdb++) form.errors
{u'value': [u'This field is required.']}
正确的格式是什么?
答案 0 :(得分:3)
django-money
使用MoneyField
进行黑客攻击,而value
无法转换为简单的HTML表单字段,而是为值和货币代码生成两个HTML表单字段。
您必须传递Decimal
Decimal
类型(或任何可以强制转换为value_currency
的值)和ChoiceField
3个字符的货币代码({{ 1}}国家代码)。
def test_post_valid(self):
data = {'value_0': '99.99', 'value_1': 'GBP' }
response = self.client.post(url, data)