[英]Django subquery using QuerySet
是否可以使用另一个QuerySet在QuerySet上执行子查询?
例如:
q = Something.objects.filter(x=y).extra(where=query_set2)
简短的回答:否。 extra
方法不希望在传递查询集 。
如果你考虑一下,这是有道理的。 查询集是用于表示数据库上的提取操作结果的抽象,而extra
是将数据库中的自定义字段附加到查询集的便捷方式。 除非您将extra
的基本性质更改为“使用其他查询集进行自定义筛选”,否则这将无效。
我可以用两种方式理解你的问题。
您可以在过滤器参数中指定多个变量,例如:
q = Something.objects.filter(x=y, w=z)
您想在SQL中进行所谓的“连接”。 这可以通过Django的聚合系统完成,请参阅Django官方文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.