如何在Django中实例化表单构造函数中的复选框?

如何在Django中实例化表单构造函数中的复选框?,django,forms,checkbox,Django,Forms,Checkbox,这是我的密码: models.py class CheckModel(models.Model): a = models.BooleanField() b = models.BooleanField() forms.py class CheckForm(forms.Form): CHOICES = (('a', 'A',), ('b', 'B')) check_form= forms.MultipleChoiceField(required=False,

这是我的密码:

models.py

class CheckModel(models.Model):
    a = models.BooleanField()
    b = models.BooleanField()
forms.py

class CheckForm(forms.Form):
    CHOICES = (('a', 'A',), ('b', 'B'))
    check_form= forms.MultipleChoiceField(required=False,
                                                   choices=CHOICES,
                                                   widget=forms.CheckboxSelectMultiple,
                                                   label='')
views.py

settings = CheckModel.objects.get(pk=1)
a = settings.a
b = settings.b

if request.method == 'GET':
    form = CheckForm(initial = {'a': a, 'b': b}) # <-- doesn't check or uncheck the boxes on GET
settings=CheckModel.objects.get(pk=1)
a=设置。a
b=设置。b
如果request.method==“GET”:

form=CheckForm(首字母={'a':a,'b':b})#该字段称为
check\u form
,而不是
a
或'b;这些是该字段的值。所以你可以做:

form = CheckForm(initial = {'check_form': ['a', 'b']})

但是,如果要使用数据库中的数据实例化表单,最好使用ModelForm并在初始化时传入
实例
参数。

该字段称为
检查表单
,而不是
a
或'b;这些是该字段的值。所以你可以做:

form = CheckForm(initial = {'check_form': ['a', 'b']})
但是,如果使用数据库中的数据实例化表单,最好使用ModelForm并在初始化时传入
实例
参数