Выборочный показ моделей в Django
В моем приложении django у меня есть поле модели под названием "status". В одной из форм для получения данных для этого поля я хочу отобразить только подмножество всех вариантов, доступных в модели. Есть ли способ удалить выбор из формы? Мне нужен удаленный выбор в базе данных и интерфейс администратора, где я могу его выбрать.
status = models.CharField(STATUS_FIELD_NAME, choices=STATUS_CHOICES,
default=STATUS_DEFAULT,
max_length=3)
1 ответ
Вы можете определить подмножество вариантов в вашей форме:
class YourForm(forms.ModelForm):
SUBSET_CHOICES = (
(YourModel.CHOICE_ONE, _('First choice')),
(YourModel.CHOICE_TWO, _('Second choice')),
)
class Meta:
model = YourModel
fields = ['choice', ]
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['choice'].choices = self.SUBSET_CHOICES