2010-10-18 2 views
0

Если у меня есть несколько вариантов для сгруппированных в models.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) 

для этого класса я хочу, чтобы установить значение по умолчанию для поля «состояния» Заблокировано -> False и липкий -> Ложные

Благодаря

ответ

1

Вы не поняли, что группироваться выбор делать. Они предназначены только для представления - ваш IntegerField может представлять только одно значение, которое в вашем случае будет либо 0, либо 1 (для False или True). Единственное, что делают группы, это предоставление заголовков в поле выбора. В настройке нет никакого способа установить отдельные значения для Sticky и Blocked.

0

Вам нужны два целочисленных поля: один для Sticky и один для Blocked.

Затем вы можете установить стандартные значения по умолчанию в самом поле.

Если вы хотите, чтобы поля были взаимно исключающими, существует несколько способов, которыми вы можете приблизиться к этому - изменение метода сохранения является хорошим балансом легкости и простоты.

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

Смежные вопросы