Python 从django Q()对象获取查询
我有一个Django queryset,其中我必须使用Python 从django Q()对象获取查询,python,sql,django,django-q,Python,Sql,Django,Django Q,我有一个Django queryset,其中我必须使用.extra(select=)方法,因为我正在计算一个需要where语句子过滤器的字段 我在很多地方使用了这个WHERE子句,我希望遵守DRY(这在编写原始SQL时通常有点困难)。我使用Django的Q()对象编写了一条语句,我可以重用这些对象并将其添加到原始SQL中 我知道你可以使用Queryset.query.\uu str\uuⅸ()来获得等价的SQL输出——有没有办法用Q对象来实现这一点?文档中的哪个地方说Queryset.query
.extra(select=)
方法,因为我正在计算一个需要where
语句子过滤器的字段
我在很多地方使用了这个WHERE
子句,我希望遵守DRY(这在编写原始SQL时通常有点困难)。我使用Django的Q()
对象编写了一条语句,我可以重用这些对象并将其添加到原始SQL中
我知道你可以使用
Queryset.query.\uu str\uuⅸ()
来获得等价的SQL输出——有没有办法用Q
对象来实现这一点?文档中的哪个地方说Queryset.query
提供了原始SQL?对不起,我应该更清楚--Queryset.query
因为命令没有任何作用,但是如果你有一个queryset,你可以调用.query.\uu str\uu()
,然后取回SQL语句。“QuerySet
”我只是把它用作占位符。