Django Model Form Integer as Drop Down
В моем проекте есть простая модельная форма следующего вида:
class InviteForm(forms.ModelForm):
class Meta:
model = Invite
fields = ['max_guests', 'rsvp_guests', 'rsvp_attendance']
Max Гости - это просто целое число, и оно появляется для ввода пользователем. Поскольку значение всегда маленькое (<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']