Объект не будет обновляться - PullRequest
1 голос
/ 08 февраля 2010

Слушай, мой объект не обновляется, когда я вызываю метод save ()

вот мой код

    car = Car.objects.get(pk=car_id)
    car.views += 1
    car.save()

и модель

views = models.FloatField(max_length=1000)

У меня есть метод переопределения save (), может ли это вызвать проблему?

def save(self):
    d = timedelta(days=self.expires_in)
    if not self.id:
        self.expires_on = datetime.now() + d
        super(Car, self).save()

Ответы [ 2 ]

5 голосов
/ 08 февраля 2010

У вас есть ошибка в вашем коде. Он вызывает метод суперкласса save только в том случае, если у объекта еще нет идентификатора. Исправил ваш код:

def save(self):
    d = timedelta(days=self.expires_in)
    if not self.id:
        self.expires_on = datetime.now() + d
    super(Car, self).save() # <-- here
1 голос
/ 08 февраля 2010

Сейчас кажется, что ваш код не войдет в блок "if" (если id не равен None), поэтому метод "сохранения" суперкласса не вызывается.

...