如何检查django查询是否成功
问题描述:
当我使用django查询时。
我会用.exists
来检查它是否成功。像:如何检查django查询是否成功
que = Image.objects.filter(id=1)
if que.exists():
#do something
我想问如果我用update
这样的:
Image.objects.filter(id=ac[0].id).update(url=image['url'],path=image['path'])
我怎么能检查查询是成功?
请指导我。谢谢
答
指定的查询像一个变量:
try:
img = Image.objects.filter(id=ac[0].id).update(url=image['url'],path=image['path'])
img[0]
print "success"
except:
print "failed"
答
的update()方法即时应用,并返回查询所匹配的 行数(如果某些行已经具有新值,则这可能不等于更新的 行的数量)。
此外,重要的是要注意,调用update
是一个原子操作。所以如果它不成功,将会引发错误。
如果你是确保更新应该修改至少一行,做
num = Image.objects.filter(id=ac[0].id).update(url=image['url'],path=image['path'])
if num > 0:
print "successful
#do something