說我有三個Django模型:在查詢參數中使用關係還是在Django模型中使用模型屬性查找更快?
User
,Staff
這是一個對一個與User
,Thing
這是許多到一個與Staff
在「所有者」字段。
使用MySQL數據庫,哪些性能更好?
Thing.objects.filter(owner=user.staff) # A
Thing.objects.filter(owner__user=user) # B
那麼如果我檢查,我想Thing
由User
擁有:
try:
Thing.objects.get(id=some_id, owner=user.staff) # D
Thing.objects.get(id=some_id, owner__user=user) # E
except Thing.DoesNotExist:
return None
else:
pass # do stuff
# Or F:
thing = Thing.objects.get(id=some_id)
if thing.owner.user != user:
return None
pass # do stuff
你應該嘗試django調試工具欄或分析你的代碼.. – Sayse