опция переопределения выбора поля модели не проходит проверку - PullRequest
0 голосов
/ 27 сентября 2018

в Django 1.11: у меня есть поле модели, объявленное так:

a = models.CharField(choices= (('a','a'),('b','b'))

В ModelForm я пытаюсь переопределить эти варианты:

class ModelForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields['a'].choices = [('a', 'a'), ('b', 'b'), ('d', 'd')]

Форма отображается правильно (опция 'd' добавлена), но при отправке формы выдает ошибку

Select a valid choice. d is not one of the available choices.

Что бы я ни делал, ничего не работает.Что я делаю не так?

1 Ответ

0 голосов
/ 27 сентября 2018

Удалите опцию choices из модели.Нет смысла ограничивать возможные варианты, если вы затем разрешаете пользователю выбирать больше.

Так же, как

    a = models.CharField()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...