Django 模型表单整数作为下拉列表

Django Model Form Integer as Drop Down

我的项目中有一个简单的Model表单如下:

class InviteForm(forms.ModelForm):
    class Meta:
        model = Invite
        fields = ['max_guests', 'rsvp_guests', 'rsvp_attendance']

Max Guests 只是一个整数,显示供用户输入。由于值总是很小 (<10),我希望这是一个下拉列表,而不是所有值都为 0-max。

有没有办法覆盖这样的整数输入?

您可以使用 ChoiceField 作为

class InviteForm(forms.ModelForm):
    MAX_GUESTS = (
            ('0', '0'),
            ('1', '1'),
            ('2', '2'),
            ('3', '3'),
            ('4', '4'),
            ('5', '5'),
            ('6', '6'),
            ('7', '7'),
            ('8', '8'),
            ('9', '9'),
            ('10', '10'),
            )
    max_guests = forms.ChoiceField(choices=MAX_GUESTS)
    class Meta:
        model = Invite
        fields = ['max_guests', 'rsvp_guests', 'rsvp_attendance']