[英]how to combine multiple django queryset aggregates and filters
我有以下問題:
class species(models.Model):
pass
class question(models.Model):
species = models.ForeignKey(species)
class answer(models.Model):
question = models.ForeignKey(question)
現在,我想檢索包含沒有任何答案的任何問題物種的查詢集。
我的意思是,我可以使用以下方法獲得所有有疑問的物種:
sp = species.objects.annotate(num_questions=Count('question')).filter(
num_questions__gt=0)
我也可以使用以下方法獲得所有沒有答案的問題:
qs = question.objects.annotate(num_answers=Count('answer')).filter(
num_answers=0)
但是,如何將這兩件事結合在一起?
提前致謝!
您可以像這樣通過菊花鏈方式注釋:
sp = species.objects.annotate(num_questions=Count('question')).annotate(
num_answers=Count('answer')).filter(num_questions__gt=0, num_answers=0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.