Выборочный показ моделей в 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
Другие вопросы по тегам