TypeError at / save() missing 1 required positional argument: 'self'

Я не могу обновить сумму баланса, когда я пытаюсь сохранить значение, возникает эта ошибка.

models.py,

class balance_data(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    total_amount = models.FloatField(max_length=15)

    def __str__(self):
        return str(self.user)

Views.py,

def cash_in(request, amount):

    new_amount = request.user.balance_data.total_amount + amount

    balance_data.total_amount = new_amount
    balance_data.save(update_fields=['total_amount'])

    return HttpResponse(request.user.balance_data.total_amount)

Как я могу решить эту проблему?

Я ожидаю обновления суммы.

Views.py

def cash_in(request, amount):
    # user whose total_amount is to be updated.
    user = request.user

    # get current user instance of balance_data
    user_current_balance = balance_data.objects.get(user=user)

    # update total_amount by adding amount to its total_amount
    user_current_balance.total_amount = user_current_balance.total_amount + amount

    # save changes to database
    user_current_balance.save()
    return HttpResponse(user_current_balance.total_amount)
Вернуться на верх