@Sestokova
Начинаю в IT

Как скрыть некоторые option в select Django?

В models.py есть список choices, который выводиться через form.py станице, но некоторые option нужно не выводить. Как сделать? Варианты с JS не подходят.

class EventForm(ModelForm):
    class Meta:      
        def sort():
            status = []
            for i in Event.PROBLEM_CHOICES_STATUS:
                if i[0] == 1 or i[0] == 2:
                    status.append(i)
            return status
        
        Event.PROBLEM_CHOICES_TYPE = sort()

        model = Event
        fields = ( 'status', )
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
ArsenyMatytsyn
@ArsenyMatytsyn
Руководитель frontend направления, предприниматель
Можно сделать проверку передаваемых вариантов на уровне вьюхи и тогда они не попадут в страницу в принципе.

В принципе не суть где ты будешь делать проверку, главное, чтобы у тебя было что-то в духе:
choices = [1, 2]
if not false:
    choices.append(3)


В списке естественно может быть объект пара ключ-значение, я тут про логику распинаюсь.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы