所以我有两个查询集,我很难找到一种方法来检查查询集1是否包含查询集2中的所有元素。查询集2比查询集1有更多的元素但是但我只想检查查询集1是否包含第二个中的所有元素。
任何人都知道解决这个问题吗?
到目前为止,我已经在我的jinja2模板中使用了这个
但是我真的想要显示是否满足了依赖性,而不是简单地列出缺失的依赖性。
{% for dp in group.dependancies.all() %}
{% if dp not in SelectedGroups.all() %}
<p>Missing dependancy {{ dp }}</p>
{% endif %}
{% endfor %}
答案 0 :(得分:1)
不要在Jinja2模板上执行此操作,但无论您在哪里生成这些查询集:
result = all(item in list(group.dependancies.all()) for item in list(SelectedGroups.all()))
if result:
msg = "<p>All dependencies satsfied.</p>"
else:
msg = "<p>Dependencies missing.</p>
然后将msg返回到模板并使用{{msg}}
呈现它。