我對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方法。謝謝 –