【问题标题】:django modelform display blank for nulldjango modelform 为空显示空白
【发布时间】:2015-04-14 04:50:16
【问题描述】:

在django模型表单中,如何为空值显示空白,即防止在表单上显示(无)。使用postgresql,django 1.6.5。我不希望在模型实例中为允许的空值添加空间。

【问题讨论】:

    标签: python django


    【解决方案1】:

    相反,我最终使用了 forms.HiddenInput() 并且没有显示带有 null 的字段,这非常适合我的情况!

    【讨论】:

      【解决方案2】:

      默认情况下,每个 Field 类都假定该值是必需的,因此如果您传递一个空值——None 或空字符串("")——那么clean() 将引发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。对于CharField,这将是一个 Unicode 空字符串。对于其他 Field 类,它可能是 None。 (这因领域而异。)

      像这样:

      >>> f = forms.CharField(required=False)
      >>> f.clean('foo')
      u'foo'
      >>> f.clean('')
      u''
      >>> f.clean(None)
      u''
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-03-26
        • 2018-01-23
        • 2021-12-11
        • 2011-09-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多