如何检查django查询是否成功

时间:2014-10-08 04:46:14

标签: django

当我使用django查询时。
我将使用.exists来检查它是否成功。像:

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'])

如何检查查询是否成功?

请指导我。谢谢

2 个答案:

答案 0 :(得分:4)

来自orm documentation

  

立即应用update()方法并返回数字   查询匹配的行(可能不等于   如果某些行已经具有新值,则更新行。)

此外,重要的是要注意调用update是一个原子操作。所以如果不成功,就会引发错误。

如果您确定更新应至少修改一行,请执行

num = Image.objects.filter(id=ac[0].id).update(url=image['url'],path=image['path'])
if num > 0:
    print "successful
    #do something

答案 1 :(得分:0)

将查询分配给变量,如:

try:
   img = Image.objects.filter(id=ac[0].id).update(url=image['url'],path=image['path'])
   img[0]
   print "success"
except:
   print "failed"