【问题标题】:Null field in select dropdown选择下拉列表中的空字段
【发布时间】:2021-12-28 23:22:43
【问题描述】:

如何摆脱选择下拉菜单中的 Null 选项?比如我有以下模型--

class Network(models.Model):
    type = models.CharField(max_length=10, choices = [('closed','closed'),('open','open')])

当我在模板中使用表单时,我在下拉菜单中得到三个选项:

-------
Closed
Open

如何摆脱这个 Null 选择?那么选择下拉菜单将只有Closed 和Open 选项?

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    来自documentation (via):

    默认情况下,ModelChoiceField 使用的小部件将具有 列表顶部的空选项。您可以更改此文本 带有 empty_label 的标签(默认为“---------”) 属性,或者您可以通过设置完全禁用空标签 empty_label 为 None

    【讨论】:

      【解决方案2】:

      在你的模型中设置blank=False。

      来自documentation:

      除非blank=False 与default 一起设置在字段上,否则将使用选择框呈现包含"---------" 的标签。要覆盖此行为,请向 choices 添加一个包含 None 的元组;例如(None, 'Your String For Display')。或者,您可以在有意义的情况下使用空字符串而不是 None - 例如在 CharField 上。

      【讨论】:

        【解决方案3】:
        choices = [("","-- Select an option --"),('closed','closed'),('open','open')]
        

        【讨论】:

        • 通过提供对您提出的解决方案的更多见解,可以改进您的答案。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-24
        • 1970-01-01
        • 1970-01-01
        • 2017-03-28
        • 2016-11-01
        相关资源
        最近更新 更多