5 ответов:
Если вы просто используете форму ванили (не ModelForm), вы можете установить начальное значение поля (http://docs.djangoproject.com/en/dev/ref/forms/fields/#django.forms.Field.initial) нравится
class MyForm(forms.Form): my_field = forms.BooleanField(initial=True)Если вы используете ModelForm, вы можете установить значение по умолчанию в поле model (http://docs.djangoproject.com/en/dev/ref/models/fields/#default ), который будет применяться к результирующей форме модели, например
class MyModel(models.Model): my_field = models.BooleanField(default=True)наконец, если вы хотите динамически выберите во время выполнения, будет ли ваше поле выбрано по умолчанию, вы можете использовать начальный параметр в форме, когда вы инициализации:
form = MyForm(initial={'my_field':True})
from django.db import models class Foo(models.Model): any_field = models.BooleanField(default=True)решите мою проблему, мне нужно было использовать в моделях вместо форм
я использую django==1.11. Ответ получить большинство голосов на самом деле неправильно. Проверяя документ от django, он говорит:
initial -- значение для использования в начальном отображении этого поля. Это значение это не используется в качестве запасного варианта, если данные не даны.
и если вы покопаетесь в коде процесса проверки формы, вы обнаружите, что для каждого поля форма будет называть его виджета
value_from_datadictчтобы получить фактическое значение, Итак, это место, где мы можем ввести значение по умолчанию.для этого
BooleanField, мы можем унаследовать отCheckboxInput, значение по умолчаниюvalue_from_datadictи
в вашем models.py:
Class a(models.model): Var = models.BooleanField(default=True)просто поместите нужное значение в скобки
Comments