Post() takes from 3 to 4 positional arguments but 5 were given

Я пытаюсь составить формсет: мне нужно, чтобы при попадании на страницу с этим обработчиком я мог создать статью и тут же добавить в неё контент

views.py

class ContentCreateView(TemplateResponseMixin, View):
    model = None
    obj = None
    template_name = 'content/create.html'

    def get_model(self, model_name):
        if model_name in ['text', 'video', 'image', 'file']:
            return apps.get_model(app_label='content',
                                  model_name=model_name)
        return None

    def get_form(self, model, *args, **kwargs):
        Form = modelform_factory(model, exclude=['title',
                                                 'created',])
        return Form(*args, **kwargs)

    def dispatch(self, request, model_name=None, article_id=None, id=None):
        if article_id:
            self.article = get_object_or_404(Article,
                                       id=article_id,)
        if model_name:
            self.model = self.get_model(model_name)
        if id:
            self.obj = get_object_or_404(self.model,
                                         id=id)
        return super(ContentCreateView,
           self).dispatch(request, article_id, model_name, id)

    def get(self, request, model_name, id=None):
        form = self.get_form(self.model, instance=self.obj)
        return self.render_to_response({'form': form,
                                        'object': self.obj})

    def post(self, request, model_name, id=None):
        form = self.get_form(self.model,
                             instance=self.obj,
                             data=request.POST,
                             files=request.FILES)
        if form.is_valid():
            obj.save()
            if not id:
                Content.objects.create(article=self.article,
                                       item=obj)
            return redirect('content/detail.html', self.article.id)

        return self.render_to_response({'form': form,
                                        'object': self.obj})

Но получаю ошибку. В чём проблема, и что ещё в теории неправильно в моём коде?

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