2017-02-22 38 views
1

В настоящее время я работаю над плагином django cms с полем выбора модели, зависящим от другого поля в форме. То, что я делаю сейчас через ajax, заключается в том, что при выборе поля триггера поле выбора зависимой модели обновляется через ajax для изменения выбора в поле выбора. Однако по представлению, формы, я сталкиваюсь с этой ошибкойПоле выбора динамической модели на плагине django cms

«Выберите правильный выбор. Это не один из возможных вариантов.»

Я некоторое рытье переполнение стека и нашел подобный вопрос

While using ajax with django form, getting error "Select a valid choice. That is not one of the available choices."

Основываясь на приведенной выше ссылке, я должен обновить модель поля выбора в форме самого плагина в зависимости от значения триггерного поля, которое я получу от запроса. POST

Как мне сделать это для плагина django cms? Какой метод плагина cms мне следует переопределить? Я принимаю его метод в классе CMSPluginBase плагина, но я не уверен, какой именно метод переопределить, а также как получить текущую форму, используемую моим плагином, чтобы я мог переопределить это в указанном методе?

Благодаря

ответ

1

После некоторого копания, я был в состоянии сделать это, перекрывая запрос поля в наборе в порядке is_valid() формы, как так

def is_valid(self): 
    self.fields["my_field"].queryset=Foo.objects.filter(bar=baz) 
    return super(MyForm, self).is_valid() 

Таким образом, когда проверка формы является , поле уже переопределено