django - 检查查询集是否是另一个查询集的子集的最佳方法是什么?
问题描述
如果有两个查询集q1
和q2
,检查是否q1
是 的子集的最佳方法是q2
什么?还是我必须迭代它们的值?
q1_id = q1.values_list('id', flat=True)
q2_id = q2.values_list('id', flat=True)
all([x in q2 for x in q1])
解决方案
你可以set
用来检查这个:
q1_id = set(q1.values_list('id', flat=True))
q2_id = set(q2.values_list('id', flat=True))
issubset = q1_id.issubset(q2_id)
推荐阅读
- node.js - 在没有 npm start 的情况下将 ReactJS 添加到项目中
- c# - C# web api,如何处理异常并返回适当的状态码
- php - 使用 MYSQL 查询排名排行榜
- python - 直接在线运行一个 Jupyter notebook(无需在本地下载)
- php - 使用 Symfony 4 将数据导出到 Excel 的问题
- listview - 将卡片设置为 Listview
- reactjs - 无法读取从快递返回的对象的长度(反应)
- vba - Solidworks API - 从文本文件中读取数据
- c# - 发布 .net 时出错 - 带有 connectionString 的核心 3.1 Web 服务
- javascript - ajax 无法在 php 中的下拉列表更改时将数据显示到文本区域