Как я делаю пункт меню Django ModelForm выбранным по умолчанию?

На самом деле не имеет отношения к кодированию.

Со статистической точки зрения вы можете ввести как можно больше объясняющих переменных. Однако вам нужно достаточно данных. Эмпирическое правило заключается в том, что вам нужно иметь не менее 10 наблюдений на комбинацию категориальных переменных и еще больше, чтобы добавить непрерывную переменную.

С технической точки зрения вы можете ввести столько объясняющих переменных, сколько захотите.

10
задан Joe Holloway 8 March 2009 в 21:49
поделиться

2 ответа

Если Вы нуждаетесь в незаполненном бланке с выбранным значением по умолчанию, то передаете 'первоначальный' словарь конструктору Вашей образцовой формы с помощью названия поля как ключ:

form = MyModelForm (initial={'gender':'M'})

- ИЛИ -

Можно переопределить определенные атрибуты ModelForm с помощью декларативной природы Форм API. Однако это является, вероятно, немного громоздким для этого варианта использования, и я упоминаю это только, чтобы показать Вам, что можно сделать это. Можно найти другое использование для этого в будущем.

class MyModelForm (forms.ModelForm):
    gender = forms.ChoiceField (choices=..., initial='M', ...)
    class Meta:
        model=MyModel

- ИЛИ -

Если Вы хотите ModelForm, который связывается с конкретным экземпляром Вашей модели, можно передать 'экземпляр' модели, которая заставляет Django вытягивать выбранное значение из той модели.

form = MyModelForm (instance=someinst)
16
ответ дан 3 December 2019 в 16:55
поделиться

Конечно, default добьется цели?

например.

gender = models.CharField(max_length=1, choices=GENDER_CHOICES, default='M', null=True)
8
ответ дан 3 December 2019 в 16:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: