TypeError: modelform_factory() получила неожиданный аргумент ключевого слова 'extra'
Я пытаюсь использовать modelformset_factory для рендеринга нескольких форм. Однако при попытке запустить сервер возникает эта ошибка TypeError: modelform_factory() got an unexpected keyword argument 'extra'
Все источники в Интернете говорят, что я должен иметь возможность указать аргумент extra
в modelform_factory, но я не могу этого сделать.
forms.py
class MapSeniorTeachForm(ModelForm):
role = forms.CharField(max_length=32)
def __init__(self, teach_id, *args, **kwargs):
super(MapSeniorTeachForm, self).__init__(*args, **kwargs)
self.teach_id = teach_id
self.fields['senior'] = forms.ChoiceField(choices=[(1,1),(2,2),(3,3)])
class Meta:
model = MapSeniorTeach
fields = ['role', 'senior']
MapSeniorTeachFormset = modelform_factory(MapSeniorTeach, form=MapSeniorTeachForm, extra=1)
Журнал обрезанного выхода
File "C:\Users\ethan\AppData\Local\Programs\Python\Python310\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "C:\Users\ethan\Documents\VSCodeProjects\bansheeApp\bansheeApp_project\banshee\training\urls.py", line 3, in <module>
from .views import *
File "C:\Users\ethan\Documents\VSCodeProjects\bansheeApp\bansheeApp_project\banshee\training\views.py", line 14, in <module>
from .forms import LessonTeachForm, ActivityTeachForm, MapSeniorTeachFormset
File "C:\Users\ethan\Documents\VSCodeProjects\bansheeApp\bansheeApp_project\banshee\training\forms.py", line 25, in <module>
MapSeniorTeachFormset = modelform_factory(MapSeniorTeach, form=MapSeniorTeachForm, extra=1)
Одно замечание, если я удалю дополнительное ключевое слово, один экземпляр формы будет успешно отображен.
Вот некоторые источники, о которых я говорил ранее:
https://docs.djangoproject.com/en/4.1/topics/forms/formsets/
https://micropyramid.com/blog/understanding-djangos-model-formsets-in-detail-and-their-advanced-usage/
Любая помощь будет высоко оценена!
Как сказал @Iain Shelvington в комментариях:
Я неправильно написал modelform_factory
вместо правильного modelformset_factory