对象不会更新

dot*_*tty 1 django methods model save

干草全部,当我调用save()方法时,我的对象似乎没有更新

继承我的代码

    car = Car.objects.get(pk=car_id)
    car.views += 1
    car.save()
Run Code Online (Sandbox Code Playgroud)

和模型

views = models.FloatField(max_length=1000)
Run Code Online (Sandbox Code Playgroud)

我有一个save()覆盖方法,这会导致问题吗?

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

tba*_*ack 5

您的代码中有错误.它save仅在对象尚未具有id时才调用超类方法.修正了你的代码:

def save(self):
    d = timedelta(days=self.expires_in)
    if not self.id:
        self.expires_on = datetime.now() + d
    super(Car, self).save() # <-- here
Run Code Online (Sandbox Code Playgroud)