Django Form неожиданный аргумент ключевого слова
У меня есть форма, которая содержит поле choiceField, и мне нужно заполнить его из представления, поэтому я пытаюсь использовать kwargs внутри функции init следующим образом :
class SelectionFournisseur(forms.Form):
def __init__(self,*args, **kwargs):
super(SelectionFournisseur, self).__init__(*args, **kwargs)
self.fields['Fournisseur'].choices = kwargs.pop("choixF",None)
Fournisseur = forms.ChoiceField(choices = ())
Мое мнение :
formF = SelectionFournisseur(choixF=choices)
но я получаю ошибку BaseForm.__init__() got an unexpected keyword argument 'choixF'
Вы должны сохранить дополнительный аргумент перед вызовом super
и после этого использовать сохраненный аргумент
class SelectionFournisseur(forms.Form):
def __init__(self, *args, **kwargs):
self._choixF = kwargs.pop('choixF', None)
super().__init__(*args, **kwargs)
self.fields['Fournisseur'].choices = self._choixF
Теперь ваш дополнительный аргумент не мешает вызову super().__init__
.