我有一个模型Respondent
,它通过名为Questionnaire
的{{1}}字段与另一个模型ManyToMany
相关。
我有一组四个finished
对象,并希望检索所有与所有四个对象具有Questionnaire
关系的所有Respondent
对象。
我还想获取反函数:与所有四个选定的finished
对象没有Respondent
关系的任何finished
对象。
我一直在浏览the docs,但没有找到适合我的东西。我可以获取所有与Questionnaire
的至少一个Respondent
对象匹配的Questionnaire
对象,但是据我所知。
答案 0 :(得分:1)
您可以计算finished
中questionnaire_queryset
个对象的数量,例如:
从django.db.models导入计数
Respondent.objects.filter(
finished__in=questionnaire_queryset
).annotate(
nfinish=Count('finished')
).filter(
nfinish=len(questionnaire_queryset)
)
我们在这里假设questionnaire_queryset
不不包含任何重复项。