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

Вернуться на верх