查看以下场景:
我有User
模型和属于用户的Address
模型。
在用户索引中,我需要显示用户的信息,用户拥有多少个地址,但是每次调用count
时,它都会生成N + 1个查询,因为它会对该用户ID执行额外的查询。
我该怎么做?我读到select_related
,但我试图按相反的顺序进行...
在SQL中,它可以翻译为:
SELECT user.*,
(SELECT count(*) FROM address WHERE address.user_id = user.id) AS address_count
FROM user
有没有办法用django QuerySet获取上面的SQL?