python - Jinja2 - 检查一个查询集元素是否在另一个查询集中

标签 python html django jinja2

所以我有两个查询集,我正在努力寻找一种方法来检查查询集 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/

相关文章:

python - 继承自matplotlib

html - HTML 电子邮件签名中的图像错误

html - 将 css 文件链接到我的 html 文件

javascript - Ajax Form 和 Django 集成发布错误

python - console_scripts 入口点被忽略?

python - 函数中的矩阵 View 没有副作用

python - 在python中计算(unsigned char *)的SHA1指纹

html - css 方形边框,边框底部有间隙

python - 在 Django 中没有从 timezone.now 获取时间

django - 通过管理小部件将不正确的经度/纬度保存到 PointField