就表单库而言,您可以将MultipleChoiceField字段与CheckboxSelectMultiple小部件一起使用。您可以通过为该字段编写验证方法来验证选择的数量:
class MyForm(forms.Form):
my_field = forms.MultipleChoiceField(choices=SOME_CHOICES, widget=forms.Check@R_534_2419@SelectMultiple())
def clean_my_field(self):
if len(self.cleaned_data['my_field']) > 3:
raise forms.ValidationError('Select no more than 3.')
return self.cleaned_data['my_field']
要在管理应用程序中获取此信息,您需要自定义ModelForm并覆盖相应的ModelAdmin中使用的表单。