对象不会更新

时间:2010-02-08 12:57:08

标签: django model methods save

干草全部,当我调用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 个答案:

答案 0 :(得分:5)

您的代码中有错误。它仅在对象尚未具有id的情况下调用超类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 :(得分:1)

现在,看起来您的代码不会进入“if”块(除非id为None),因此不会调用超类的“save”方法。