所以我有两个查询集,我正在努力寻找一种方法来检查查询集 1 是否包含查询集 2 中的所有元素。查询集 2 的元素比查询集 1 更多,但我只想检查一下如果查询集 1 的所有元素都在第二个查询集中。
有人知道这个问题的解决办法吗?
到目前为止,我已经在我的 jinja2 模板中使用了它
- 查询集 1 = group.dependancies
- 查询集 2 = 选定组
但我真的希望它显示依赖关系是否已得到满足,而不是简单地列出缺少的依赖关系。
{% for dp in group.dependancies.all() %}
{% if dp not in SelectedGroups.all() %}
<p>Missing dependancy {{ dp }}</p>
{% endif %}
{% endfor %}
最佳答案
不要在 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}}
进行渲染。
关于python - Jinja2 - 检查一个查询集元素是否在另一个查询集中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49412229/