我有一个模型对象,有两种方法:expired
和pending
。过期的经理工作正常并更新该字段。待处理的经理不起作用。这是我的代码。
旁注:我在视图中将pending设置为true。
models.py:
class Job(models.Model):
expired=models.BooleanField(default=False)
pending=models.BooleanField(default=False)
purchased=models.DateTimeField(auto_now_add=True)
time=models.PositiveIntegerField(blank=False)
def job_expired(self):
time=self.time
date=self.purchased
end=date+timedelta(days=time)
#now is defined globally
if now > end:
ex=self.expired=True
#i've tried these two ways below
self.pending=False
#or
ax=self.pending=False
ax.save()
else:
ex=self.expired=False
return ex
让我再说一遍,它适用于更新过期字段,但不能更新待处理字段。我也试过了一个单独的方法:
def job pending(self):
if self.expired:
self.pending=False
这些选项似乎都不起作用。有人可以帮帮我吗。感谢
答案 0 :(得分:1)
def job_expired(self):
time=self.time
date=self.purchased
end=date+timedelta(days=time)
#now is defined globally
if now > end:
self.expired = True
self.pending = False
self.save()
ex = self.expired
else:
ex=self.expired=False
return ex
答案 1 :(得分:0)
为了更改这些更改,您需要更新模型然后保存:
self.pending = False
self.save()
我认为你的意思是field
而不是manager
。有关model managers