1
比方說,我有三個型號在DjangoDjango的查詢外鍵關係
用戶
- 名
- 用戶名
狗
- 名
- 所有者ForeignKey的(用戶)
貓
- 名
- 所有者外鍵(用戶)
現在我的問題是 -
計數許多業主如何養狗和貓,與Django orm?或擁有狗和貓的所有者總數。
什麼樣的加入會是?
比方說,我有三個型號在DjangoDjango的查詢外鍵關係
用戶
狗
貓
現在我的問題是 -
計數許多業主如何養狗和貓,與Django orm?或擁有狗和貓的所有者總數。
什麼樣的加入會是?
你要算狗和貓的每個用戶的數量與annotate
,然後篩選其中該數字大於0
from django.db.models import Count
User.objects.annotate(
has_dog=Count('dog'),
has_cat=Count('cat')
).filter(
has_dog__gt=0,
has_cat__gt=0
).count()
能否請你添加一些背景和解釋你的答案? –
+1對於模型的情況,添加[empty'order_by()'](https://docs.djangoproject.com/en/1.11/topics/db/aggregation/#order-by)也很重要可以有默認的順序。 – hynekcer