1
有沒有什麼更好的辦法正如我在SQL日誌中看到,us.exists(要做到這一點Django的查詢集最佳實踐
us = User.objects.filter(id=someid)
if us.exists():
u = us[0]
)將執行一個SQL查詢,則u = US [0]會執行另一個查詢。所以我們必須做2個查詢來完成任務。我只想問一個更好的方式來做到這一點
有沒有什麼更好的辦法正如我在SQL日誌中看到,us.exists(要做到這一點Django的查詢集最佳實踐
us = User.objects.filter(id=someid)
if us.exists():
u = us[0]
)將執行一個SQL查詢,則u = US [0]會執行另一個查詢。所以我們必須做2個查詢來完成任務。我只想問一個更好的方式來做到這一點
.get()
不使用Django的查詢集緩存。所以,如果你真的想使用和重用查詢集,更好的方式是趕上IndexError
像:
us = User.objects.filter(id=someid)
try:
u = us[0]
except IndexError:
#item does not exist.
假設id
是獨一無二的,你應該請求原諒,而不是許可:
try:
u = User.objects.get(id=someid)
except User.DoesNotExist:
# do whatever you should do if user does not exist
非常感謝,你救我的天 –
@TrinhHoangNhu這很好就知道了! – Rohan