在django模型表单中,如何显示空值为空值,即阻止在表单上显示(无)。使用postgresql,django 1.6.5。我不希望在模型实例中为允许的空值添加空间。
答案 0 :(得分:1)
默认情况下,每个Field类都假定该值是必需的,因此如果您传递一个空值 - None
或空字符串("")
- 那么clean()
将引发一个{{ 1}}例外:
ValidationError
如果某个字段有>>> from django import forms
>>> f = forms.CharField()
>>> f.clean('foo')
u'foo'
>>> f.clean('')
Traceback (most recent call last):
...
ValidationError: [u'This field is required.']
>>> f.clean(None)
Traceback (most recent call last):
...
ValidationError: [u'This field is required.']
而您传递required=False
一个空值,那么clean()
将返回一个标准化的空值,而不是提升clean()
。对于ValidationError
,这将是一个Unicode空字符串。对于其他Field类,它可能是CharField
。 (这在不同的领域有所不同。)
像这样:
None
答案 1 :(得分:0)
相反,我最终使用了forms.HiddenInput()并且没有显示带有null的字段,这非常适合我的情况!