def getPreID(self):
preid=self.id-1
preid1 = TourScene.objects.filter(id = preid)
if not preid1:
preid =preid-1
我想要的就是当我获得自我时。我需要以前的身份证明 所以我做了 preid = self.id-1 ,现在我想检查这个preid是否存在,如果不是我想要下一个以前的ID。
那么我怎么能在循环中运行它来检查id是否不存在检查先前如果以前不存在那么检查下一个先前的ID ..所以......
请帮帮我,因为我是python的新手。
答案 0 :(得分:0)
看起来您可能正在尝试获取id来创建新的数据库行。一般情况下,让Django自行解决新对象的id更好,方法是保留id未指定。你想要的东西可能会受到竞争条件的影响 - 也就是说,如果两个进程试图找到一个免费的id,同时他们将选择相同的值。
答案 1 :(得分:0)
如果您希望函数返回先前的ID,或None
如果它不存在:
def getPreID(self):
preid = self.id - 1
while preid != 0:
if TourScene.objects.filter(id=preid):
return preid
preid = preid - 1
return None