Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从django Q()对象获取查询_Python_Sql_Django_Django Q - Fatal编程技术网

Python 从django Q()对象获取查询

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

我有一个Django queryset,其中我必须使用
.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
”我只是把它用作占位符。