因此,我有两个查询集,我正在努力寻找一种方法来检查查询集1是否具有查询集2中的所有元素。查询集2的元素比查询集1的要多,但是我只想检查查询集是否1在第二个元素中包含所有元素。

有人知道解决方案吗?

到目前为止,我已经在我的jinja2模板中使用了它


查询集1 = group.dependancies
查询集2 = SelectedGroups


但是,实际上,我希望它显示是否满足依赖关系,而不是简单列出缺少的依赖关系。

{% 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/

10-12 18:29