gpt4 book ai didi

python - 在 Django 中有没有办法将选项显示为复选框?

转载 作者:IT老高 更新时间:2023-10-28 20:36:30 26 4
gpt4 key购买 nike

在管理界面和新表单中,有一个出色的助手可以定义选择。你可以使用这样的代码:

APPROVAL_CHOICES = (
('yes', 'Yes'),
('no', 'No'),
('cancelled', 'Cancelled'),
)

client_approved = models.CharField(choices=APPROVAL_CHOICES)

在表单中创建一个下拉框并强制用户选择其中一个选项。

我只是想知道是否有一种方法可以定义一组选项,其中可以使用复选框选择多个选项? (如果能够说用户可以选择其中的最大数量也很高兴。)这似乎是一个可能已实现的功能,只是我似乎无法在文档中找到它。

最佳答案

就表单库而言,您可以使用 MultipleChoiceField带有 CheckboxSelectMultiple 的字段小部件来做到这一点。您可以通过为该字段编写验证方法来验证所做选择的数量:

class MyForm(forms.Form):
my_field = forms.MultipleChoiceField(choices=SOME_CHOICES, widget=forms.CheckboxSelectMultiple())

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 和 override the form used in the appropriate ModelAdmin .

关于python - 在 Django 中有没有办法将选项显示为复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/147752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com