干草全部,当我调用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()
答案 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”方法。