如何检查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" 

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