是否可以在一个QuerySet中使用另一个QuerySet执行子查询?
例如:
q = Something.objects.filter(x=y).extra(where=query_set2)
extra
方法不需要传递查询集。extra
是一种方便的方式,将自定义字段从数据库附加到查询集上。除非你改变extra
的基本特性,使其意味着“使用另一个查询集进行自定义过滤”,否则这种方法不起作用。You can specify multiple variables in your filter parameters, for example :
q = Something.objects.filter(x=y, w=z)
You want to make what is called a "join" in SQL. This can be done via the aggregation system of Django, see the official Django Official Documentation.
query_set2.filter(something__x=y)
? - Deniz Dogan