Почему не срабатывает get_object() в SingleObjectMixin?

Django 1.9
View:
class SendTransfer(SingleObjectMixin, FormView):
    model = BankAccount
    form_class = SendTransferForm
    template_name = 'dashboard/send_transfer.html'

    def get_object(self, queryset=None):
        obj = super(SendTransfer, self).get_object(queryset)

        if obj.is_legal():
            if not obj.organization.owners.filter(user=self.request.user).exists():
                raise Http404
        else:
            if obj.citizen.user != self.request.user:
                raise Http404

        return obj

    def form_valid(self, form):
        data = form.cleaned_data
        MoneyTransfer.objects.create(sender=self.object,
                                     receiver=data['receiver'], # ModelChoiceField in the form
                                     total=data['total'], # FloatField in the form, etc.
                                     when=timezone.localtime(timezone.now()),
                                     comment=data['comment'])
        return redirect('AccountDetail', self.object.pk)


Почему-то выкидывает AttributeError: 'SendTransfer' object has no attribute 'object'
Дебаг показывает, что get_object вообще не вызывается
  • Вопрос задан
  • 303 просмотра
Пригласить эксперта
Ответы на вопрос 1
DmitryVoronkov
@DmitryVoronkov
Python Developer
...
    def form_valid(self, form):
        data = form.cleaned_data
        MoneyTransfer.objects.create(sender=self.get_object(),
                                     receiver=data['receiver'], # ModelChoiceField in the form
                                     total=data['total'], # FloatField in the form, etc.
                                     when=timezone.localtime(timezone.now()),
                                     comment=data['comment'])
        return redirect('AccountDetail', self.object.pk)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы