我对django exists()
和DoesNotExist
有一些疑问。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()
方法。哪种做法更好?哪个代码更好?第一或第二?
可能的复制[什么是更有效的.objects.filter()存在()或get()和一试(HTTP://计算器。 com/questions/23562784/what-is-more-efficient-objects-filter-exists-or-get-and-a-try) – AKS
'get(pk = id).exists()'_doesn't work_。如果它不存在,那么get()将抛出异常。 exists()仅适用于querysets,get()返回一个不是queryset的实例。 – RemcoGerlich
哦对不起存在()是queryset方法。谢谢 –