我用什么Django模型字段用于复选框表单?

时间:2017-07-27 19:57:02

标签: django django-models django-forms

我创建了一个HTML表单,现在正在将它连接到Django。 (我知道我应该使用Django创建表单,但在这种情况下我没有)。在我的models.py中,我使用CharField作为文本框,CharField使用选择表单的选项,但是对于复选框,我使用什么模型字段?我是否必须为所有复选框选项创建另一个类,然后将其与manytomany关系链接?谢谢。

3 个答案:

答案 0 :(得分:1)

可能是BooleanField

  

真/假字段。

     

此字段的默认表单窗口小部件是CheckboxInput

     

如果您需要接受null值,请改用NullBooleanField

     

如果未定义Field.default,则BooleanField的默认值为“无”。

model field reference page是找到这些类型答案的好地方。

我发现考虑我的模型而不是HTML表单是有帮助的;如果您根据模型应该选择的字段选择字段,那么表单通常会自行解决。

答案 1 :(得分:0)

好吧,我不知道您是否可以在模型中执行此操作,但您可以在表格this中使用它以获取更多信息

FAVORITE_COLORS_CHOICES = (
    ('blue', 'Blue'),
    ('green', 'Green'),
    ('black', 'Black'),
)

class SimpleForm(forms.Form):
    favorite_colors = forms.MultipleChoiceField(
    required=False,
    widget=forms.CheckboxSelectMultiple,
    choices=FAVORITE_COLORS_CHOICES,
    )

答案 2 :(得分:0)

可以使用默认选项True或False实现BooleanField。 False给出未经检查的框,例如:

selected = models.BooleanField(default=False)