Django - CreateView get_context_data TypeError

I have mixin on top of my application /views.py:

class RefereeViewMixin(object):
    @method_decorator(login_required)
    def dispatch(self, *args, **kwargs):
        if not self.request.user.is_superuser and \
           not self.request.user.has_group("referee"):
            raise PermissionDenied
        return super(RefereeViewMixin, self).dispatch(*args, **kwargs)

And also the view obtained from my custom mixin and CreateView:

class RefereeResultCreateView(RefereeViewMixin, CreateView):
    category = None
    template_name = "referee/result_create.html"
    fields = ["minutes", "seconds", "miliseconds", "disqualification"]

    def get_success_url(self):
        return reverse("order_list", args=[self.category])

    def get_context_data(self, **kwargs):
        context = super(RefereeResultCreateView, self).get_context_data(
            **kwargs)
        context["project"] = Project.objects.get(pk=self.kwargs.get("pk"))
        return context

    def form_valid(self, form):
        result = form.save(commit=False)
        result.project = Project.objects.get(pk=self.kwargs.get("pk"))
        result.save()

        messages.success(self.request, _(
            "Result entry for {} project created.".format(result.name)))
        return super(RefereeResultCreateView, self).form_valid(form)

Finally, my final view, which is derived from the RefereeResultCreateView:

class RefereeFireFighterResultCreateView(RefereeResultCreateView):
    model = FireFighterResult
    category = "fire_fighter"
    fields = RefereeResultCreateView.fields + [
        "extinguish_success", "extinguish_failure", "wall_hit"]

And the template looks like this:

    url(r'^fire_fighter/(?P<pk>\d+)/create/$',
        RefereeFireFighterResultCreateView.as_view(),
        name="referee_fire_fighter_result_create")

However, when I go to / app / fire _fighter / some_id / create /, I got a TypeError. It tells me super (type, obj): obj must be an instance or subtype of a type . When I debug it, I see that the RefereeResultCreateView get_context_data strong> method is causing this error. If I do not override this method, I do not see any errors. When I override it in the RefereeFireFighterResultCreateView class, I don't see any errors.

. , , . , . , . , ? ?

:

https://gist.github.com/ilkerkesen/e65fefa66890758bcdcd

+4

All Articles