繁体   English   中英

如何在Django中为分组选项设置默认值

[英]how to set the default value for grouped choices in django

如果我对model.IntegerField有一些分组选择,如何将默认值设置为这些选择的组合

例如:

class ForumThread():
    STATE_CHOICES = (
        ('Sticky', (
            (True,  'True'),
            (False, 'False')    )     ),
        ('Blocked', (
            (False, 'False')
            (True,  'True')     )     ),
    )

    name = models.CharField(max_length= 256)
    description = models.CharField(max_length= 256)
    state = models.IntegerField(choices= STATE_CHOICES)

对于此类,我想将“状态”字段的默认值设置为“阻止”->“假”和“粘滞”->“假”

谢谢

您误解了分组选择的作用。 它们仅用于表示-您的IntegerField只能表示一个值,在您的情况下为0或1(对于False或True)。 这些组唯一要做的就是在选择框中提供标题。 在设置中,您没有办法为“粘性”和“阻止”设置单独的值。

您需要两个整数字段-一个用于“粘性”字段,一个用于“阻止”字段。

然后,您可以使用常规方法在字段本身中设置默认值。

如果您希望字段互斥,则可以使用多种方法来实现此目的-修改save方法是轻松与直接之间的良好平衡。

http://docs.djangoproject.com/en/dev/ref/models/instances/#saving-objects

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM