【发布时间】:2017-04-16 01:29:28
【问题描述】:
我对 django exists() 和 DoesNotExist 异常有一些疑问。
示例代码:
id = 1
# first
if User.objects.get(pk=id).exists():
# my logic
pass
# second
try:
User.objects.get(pk=id)
# my logic
pass
except User.DoesNotExist:
return 0
我经常使用get() 方法。哪种做法更好?哪个代码更好?第一个还是第二个?
【问题讨论】:
-
get(pk=id).exists()不起作用。如果它不存在,那么 get() 将抛出异常。 exists() 仅适用于查询集,get() 返回一个实例而不是查询集。 -
抱歉,exists() 是查询集方法。谢谢