2011-03-04 47 views

回答

124

如果你仅仅使用一个香草形式(不是的ModelForm),你可以,如果你使用的ModelForm设置字段初始值(http://docs.djangoproject.com/en/dev/ref/forms/fields/#django.forms.Field.initial)像

class MyForm(forms.Form): 
    my_field = forms.BooleanField(initial=True) 

,您可以设置默认值(模型字段(http://docs.djangoproject.com/en/dev/ref/models/fields/#default)),该值将应用于生成的ModelForm。

最后,如果你想在运行时动态选择是否将你的领域将被默认选中,则可以使用初始参数的形式,当你initialize it

form = MyForm(initial={'my_field':True}) 
+1

谢谢'形式= MyForm的(初始= {“my_field”:真})',我没有找到它的文档中,立竿见影。 – Paco 2014-08-25 12:11:11

118
from django.db import models 

class Foo(models.Model): 
    any_field = models.BooleanField(default=True) 
+1

这是记录在哪里?文档中提供了'initial'(用于未绑定的表单),但不是'default' – Medorator 2014-08-18 13:16:16

+4

[Here](https://docs.djangoproject.com/en/dev/ref/models/fields/#default) – user856358 2014-09-26 02:49:29

+4

in这个答案,回答者正在使用模型字段,而不是表单字段。这就是差异所在。这让我绊倒了,因为我跳过它只是为了看到默认的kwarg。默认不是一个有效的forms.Form kwarg。只是想张贴一点,以澄清这个答案,因为它有0评论。 – 2015-05-30 22:31:02

4
from django.db import models 

class Foo(models.Model): 
    any_field = models.BooleanField(default=True) 

解决我的问题,我需要在模型中使用,而不是形式

0

在您的models.py

Class a(models.model): 
    Var = models.BooleanField(default=True) 

只要把所需的值括号内

相关问题