在我的models.py中,对于特定字段,我有null = True。
date = models.DateField(null=True)
我把它留空并按提交。当我在views.py中处理POST请求时,我打印出request.POST和date等于“”。如何将is_valid作为空值接受?
答案 0 :(得分:1)
默认不是布尔字段。默认值是您为列设置默认值所提供的内容。删除默认值并尝试再次提交表单。
https://docs.djangoproject.com/en/1.7/ref/models/fields/#default
答案 1 :(得分:1)
好的,在阅读了其他一些帖子之后,我发现了一些有用的东西(但我不确定这是好的做法还是过时的)......无论如何,我发现它{{3 }}。以下是我使用的示例:
class FooForm(forms.ModelForm):
class Meta:
#exclude etc as you wish
def __init__(self, *args, **kwargs):
#init the form as usual
super(FooForm, self).__init__(*args, **kwargs)
#then change the required status on the fields:
self.fields['baz'].required = False
答案 2 :(得分:0)
我认为您需要在字段中添加blank=True
,并且全部都是。
date = models.DateField(null=True, blank=True)
blank
关键字参数以表单字段为目标,而不是与db相关的null
。你可以在这里阅读https://docs.djangoproject.com/en/1.7/ref/models/fields/#blank