【问题标题】:Inspite of setting (null=True, blank=True) for ModelForm field, I get validation error on leaving the field blank尽管为 ModelForm 字段设置(null=True,blank=True),但在将字段留空时出现验证错误
【发布时间】:2013-06-18 12:58:57
【问题描述】:

我有以下 models.py 代码:

class try(models.Model)
    date = models.CharField(max_length=10, blank=True, null=True) # statement no. 1
    #also tried this instead of statement no.1 :
    #date = models.DateField(blank=True, null=True)
    #other statements

对应的ModelForm代码为:

class MyForm(ModelForm):
    filing_date = DateField(input_formats=['%d-%m-%Y'], widget=DateInput(format=('%d-%m-%Y'), attrs={'class':'input-block-level datePickBootstrap', 'placeholder':'Filing date'}))
    class Meta:
        model = try

如果“日期”字段留空,我会收到错误“此字段为必填项”。考虑到我使用了“blank = True”,我无法找出错误的原因。我还尝试搜索“DateField”是否有任何问题。我怎么解决这个问题?我是新手。我已经发布了相关代码。

【问题讨论】:

    标签: django validation django-forms datefield


    【解决方案1】:

    将字段设置为required=False

    class MyForm(ModelForm):
        filing_date = DateField(input_formats=['%d-%m-%Y'],
                                widget=DateInput(format=('%d-%m-%Y'), attrs={'class':'input-block-level datePickBootstrap', 'placeholder':'Filing date'}),
                                required=False)
        class Meta:
            model = try
    

    【讨论】:

    • 谢谢 J. Ghyllebert。有效。非常感谢您的回复:) 我想投票赞成您的答案,但我没有足够的声誉。对此感到抱歉
    • 很高兴知道这一点。再次感谢您
    猜你喜欢
    • 2017-03-07
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 2020-02-24
    • 2018-06-15
    • 2019-03-22
    • 2023-03-12
    • 2015-07-09
    相关资源
    最近更新 更多