我关注了this但我仍然无法在表单上将选项显示为复选框。
模型.py
class Car(models.Model):
TYPE_CHOICES = (
('s', 'small'),
('m', 'medium'),
('b', 'big'),
)
type = models.CharField(max_length=1, choices=TYPE_CHOICES)
表单.py
from django import forms
from django.forms.widgets import CheckboxSelectMultiple
from cars.models import Car
class AddCar(forms.ModelForm):
class Meta:
model = Car
type = forms.MultipleChoiceField(choices=Car.TYPE_CHOICES, widget=forms.CheckboxSelectMultiple())
最佳答案
您需要使用 forms.RadioSelect()
而不是 forms.CheckboxSelectMultiple()
因为它是单值。
要覆盖 ModelForm 的小部件,check the doc
class AddCar(forms.ModelForm):
class Meta:
model = Car
widgets = {'type': forms.RadioSelect}
或者如您的问题所示,type
行应该位于 class Meta
行上方,位于 AddCar
class AddCar(forms.ModelForm):
type = forms.ChoiceField(choices=Car.SCENERY_CHOICES, widget=forms.RadioSelect)
class Meta:
model = Car
关于Django - 如何将模型的选择显示为复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10859357/