Почему Django не обновляет объект?

У меня есть модель Profile, которая связывается с User. Например, у меня есть Testuser. Когда я пытаюсь обновить его поле 'money', ничего не происходит. Я предполагаю, что это может быть потому, что я использую User, а не Profile в get_object. Но если я меняю его на Profile, то появляется ошибка, что у Profile нет поля username. Как я могу решить эту проблему?

модель:

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    money = models.IntegerField(default=0)

Форма:

class AddMoneyForm(forms.ModelForm):
    class Meta:
        model = Profile
        fields = ('money',)

view:

class AddMoneyView(UpdateView):
    model = Profile
    template_name = 'users/money.html'
    fields = ['money']

    def get_object(self, queryset=None):
        return get_object_or_404(User, username=self.kwargs.get('username'), pk=self.request.user.pk)

    def get_success_url(self):
        return reverse('account', kwargs={'username': self.request.user.username})

url:

path('account/<str:username>/money/', AddMoneyView.as_view(), name='money'),
Вернуться на верх