Django forms Exception Value: __init__() получил несколько значений для аргумента 'data'
Недавно я обновился с django 1.9 до django 3.2 и получил следующую ошибку. Я понимаю, что аргумент keyword перезаписывает позиционный аргумент, как показано в других сообщениях с подобными ошибками. Буду признателен за помощь в объяснении того, как я должен передать аргумент data в суперконструктор forms.
Traceback (most recent call last):
File "/home/dreamer/Envs/his/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/home/dreamer/Envs/his/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/dreamer/Envs/his/lib/python3.8/site-packages/django/views/generic/base.py", line 70, in view
return self.dispatch(request, *args, **kwargs)
File "/home/dreamer/Envs/his/lib/python3.8/site-packages/django/utils/decorators.py", line 43, in _wrapper
return bound_method(*args, **kwargs)
File "/home/dreamer/Envs/his/lib/python3.8/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/home/dreamer/Envs/his/lib/python3.8/site-packages/django/utils/decorators.py", line 43, in _wrapper
return bound_method(*args, **kwargs)
File "/home/dreamer/Envs/his/lib/python3.8/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/home/dreamer/Projects/his/apps/internationals/views.py", line 46, in dispatch
return super(InternationalList, self).dispatch(request, *args, **kwargs)
File "/home/dreamer/Envs/his/lib/python3.8/site-packages/django/views/generic/base.py", line 98, in dispatch
return handler(request, *args, **kwargs)
File "/home/dreamer/Envs/his/lib/python3.8/site-packages/django/views/generic/list.py", line 142, in get
self.object_list = self.get_queryset()
File "/home/dreamer/Projects/his/apps/internationals/views.py", line 59, in get_queryset
self.filter_form = InternationalFilterForm(self.request, data=self.request.GET)
File "/home/dreamer/Projects/his/apps/internationals/forms.py", line 141, in __init__
super(InternationalFilterForm, self).__init__(*args, **kwargs)
Exception Type: TypeError at /internationals/list/
Exception Value: __init__() got multiple values for argument 'data'
class InternationalList(views.OrderableListMixin, ListFilterMixin, generic.ListView):
...
def get_queryset(self):
if not self.request.GET.items():
self.filter_form = InternationalFilterForm(self.request)
else:
self.filter_form = InternationalFilterForm(self.request, data=self.request.GET)
class InternationalFilterForm(forms.Form):
...
def __init__(self, *args, **kwargs):
super(InternationalFilterForm, self).__init__(*args, **kwargs)
Я считаю, что аргумент data был продублирован в методе BaseForm __init__
.
def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
initial=None, error_class=ErrorList, label_suffix=None,
empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)