Почему 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'),