0
看看以下情形時:如何避免N + 1在Django計數
我有一個User
模型,屬於用戶的Address
模型。
在用戶索引中,我需要與用戶信息一起顯示用戶有多少個地址,但是它會生成N + 1個查詢,因爲我每次調用count
時,都會爲該用戶ID執行附加查詢。
我該怎麼做?我讀到select_related
但我試圖使它以相反的順序...
在SQL它可以被翻譯爲:
SELECT user.*,
(SELECT count(*) FROM address WHERE address.user_id = user.id) AS address_count
FROM user
有沒有辦法讓Django的查詢集上面的SQL ?
精彩!這正是我想要的,謝謝! –
@IgorBelo - 不用擔心,盡情享受吧! – Sayse