我有一个带有 favourite_trees
字段的表单,我希望它的 3 个选项显示为复选框。然后我希望用户能够选中 0 到 3 个复选框,并保存这些结果。但是,当我尝试保存表单时,favourite_trees
字段仅保存为空列表。其他字段保存正确。我该如何修复它以便选中的复选框能够保存?
表单.py
class TreesForm(forms.models.ModelForm):
favourite_trees = forms.MultipleChoiceField(choices=TreePreference.TREE_CHOICES,
widget=forms.CheckboxSelectMultiple())
class Meta:
model = TreePreference
fields = (
'tree_knowledge',
'tree_type',)
widgets = {
'tree_type': forms.HiddenInput(),
}
模型.py
class TreePreference(models.Model):
TREE_CHOICES = ('red_trees',
'blue_trees',
'purple_trees',
)
tree_knowledge = model.CharField(blank=True, max_length=10)
tree_type = model.CharField(blank=True, max_length=20)
favourite_trees = models.CharField(choices=TREE_CHOICES, max_length=50, blank=True)
最佳答案
还有一个包 django-multiselectfield
可以帮助您存储不需要单独模型的多个(字符串)值。
关于python - 多选 Django 复选框表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34314976/