У объекта 'RelatedManager' нет атрибута '_meta'

У меня есть представление, которое различает две разные формы путем проверки кнопок отправки name. Первый случай UserProfileForm работает просто отлично, но случай BankForm возвращает ошибку

У объекта 'RelatedManager' нет атрибута '_meta'

Почему?

# views.py 

def render_dashboard_profile(request):

    # Get the user object
    user = request.user

    # Get the bank object
    bank_obj = Bank.objects.get(account_holder=user)

    # Create a pre-populated form instance for both models
    user_profile_form = UserProfileForm(instance=user.userprofile)
    bank_form = BankForm(instance=user.userprofile)

    # Create Context
    context = {
        'user_profile_form': user_profile_form,
        'bank_form': bank_form,
        'bank_obj': bank_obj
    }

    if request.method == 'POST':
        form = {}

        # Determine which form was submitted
        if 'profile-submit' in request.POST:
            form = UserProfileForm(request.POST, instance=user.userprofile) # that one works
        elif 'bank-submit' in request.POST:
            form = BankForm(request.POST, instance=user.account_holder)   # breaks here

        if form.is_valid():
            form.save()

            return render(request, 'dashboard/dashboard_profile.html', context)
    else:
        return render(request, 'dashboard/dashboard_profile.html', context)
# forms.py

class BankForm(ModelForm):
    """
    A form to change the bank data of a user
    """
    class Meta:
        model = Bank
        fields = ['name', 'bic', 'iban']
# models.py

class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    surname = models.CharField(max_length=30)
..

class Bank(models.Model):
    """
    Stores data about the bank account of a user/investor
    """
    account_holder = models.ForeignKey(User, on_delete=models.CASCADE, related_name='account_holder')
    name = models.CharField(max_length=30)
    bic = models.CharField(max_length=10)
    iban = models.CharField(max_length=30)
Вернуться на верх