簡體   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