Jam*_*est 2 python django django-models
我的模型中有一个类型的字段DecimalField.虽然我blank=True并null=True在选项中,当我的模型经过表单验证和字段为空,我得到一个错误"该值必须是一个十进制数." 可以DecimalField不是空的吗?我可以为这个字段设置默认值0,但我宁愿让它可以为空.
注意:此字段最初不可为空,但我通过南迁移更改了模型以使字段可为空.我仔细检查了数据库以确认该列是否为NULL?=不.
这是模型中的字段定义:
reqwest_max = models.DecimalField("Maximum $", max_digits=11, decimal_places=2, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
ModelForm定义是:
class ReqwestDetailsForm(ModelForm):
details = forms.CharField(widget=forms.Textarea(attrs={'class':'span8'}),
label = 'What do you need help with?',
required=False)
reqwest_max = forms.CharField(label = "Will Pay Up To $",
required=False)
class Meta:
model = Reqwest
widgets = {
'tags': TextInput(attrs={'size':75}),
}
Run Code Online (Sandbox Code Playgroud)
你forms.CharField将返回一个空字符串,而不是None(Python的NULL).因此,它尝试将列设置为''(空字符串),而不是NULL.
您应该django.forms.DecimalField在表单中使用a .请参阅https://docs.djangoproject.com/en/dev/ref/forms/fields/#decimalfield
| 归档时间: |
|
| 查看次数: |
5888 次 |
| 最近记录: |