Django: увеличение переменной в модели - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть эта модель:

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

    def increase_score_question_viewed(self):
        print("After: " + self.score_question_viewed)
        self.score_question_viewed += 10
        print("Before: " + self.score_question_viewed)

Когда я звоню increase_score_question_viewed() Я вижу в своем терминале:

Before: 0
After: 10

Но после того, как я profil.score_question_viewed Я вижу 0

Значение не было сохранено ...

Знаете ли вы, как я могу сохранить свое значение?

1 Ответ

2 голосов
/ 04 апреля 2020

Вам нужно позвонить self.save(), чтобы сохранить изменения в БД:

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

    def increase_score_question_viewed(self):
        print("After: " + self.score_question_viewed)
        self.score_question_viewed += 10
        print("Before: " + self.score_question_viewed)
        self.save()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...