Joey Coder
Joey Coder

Reputation: 3559

Django: object has no attribute 'object'

I have to implement several forms, therefore I need the combination of SingleObjectMixin, TemplateView. I always receive 'AssignAttendee' object has no attribute 'object'. Do you see why I get that error?

class AssignAttendee(SuccessMessageMixin, SingleObjectMixin, TemplateView):
    template_name = 'attendees/front/assign_attendee.html'
    success_message = _("Attendee has been successfully updated.")

    def get_object(self):
        return get_object_or_404(
            Attendee,
            ticket_reference=self.kwargs['ticket_reference'],
            ticket_code=self.kwargs['ticket_code'],
        )

    @cached_property
    def attendee_form(self):
        return AssignAttendeeForm(
            prefix='attendee',
            data=self.request.POST or None,
            # instance=self.attendee_contact,
        )

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context = {
            'attendee_form': self.attendee_form,
        }

Upvotes: 0

Views: 2560

Answers (1)

Joey Coder
Joey Coder

Reputation: 3559

The problem was that it was missing:

def get(self, request, *args, **kwargs):
    self.object = self.get_object()
    return super().get(request, *args, **kwargs)

Upvotes: 1

Related Questions