Динамическая модель Django Выбор форм не работает - PullRequest
0 голосов
/ 10 июня 2019

Мне нужно динамически установить выбор для поля ModelForm во время запроса. В конструктор ModelForm я добавляю варианты:

class ScanSetPlotForm(ModelForm):
    class Meta:
        model = models.ScanSetPlot
        fields = ['scan_set_def_name', 'label_x_name', 'label_y_name']

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.fields['scan_set_def_name'].choices = scan_set_module.get_form_scan_set_def_list()
        self.fields['label_x_name'].choices = scan_label.get_form_scan_labels_list()
        self.fields['label_y_name'].choices = scan_label.get_form_scan_labels_list()

Это работает для самой записи формы - пользовательские опции отображаются в списках.

Однако при создании модели из проведенных данных:

form = forms.ScanSetPlotForm(request.POST)

Я получаю ошибку «Выберите правильный выбор» для всех полей, потому что ошибки выполняются в super (). init , прежде чем я смог добавить варианты.

Любая помощь будет высоко ценится, спасибо.

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