来自django.db.models.QuerySet的列

来自django.db.models.QuerySet的列,django,Django,通过原始查询,将要执行的SQL的列可以这样访问 query\u set=Model.objects.raw('select*from table') 查询集合.columns django.db.models.query.QuerySet没有columns属性 我没有用生的。。。我正在调试一个使用Q过滤器的普通查询集。。。它返回了太多的记录。。。因此,我编写了代码以查看使用普通SQL的结果。我希望查看查询集中调用的列和实际SQL,这样我就可以诊断问题所在,而无需猜测 如何从django.db.

通过原始查询,将要执行的SQL的列可以这样访问

query\u set=Model.objects.raw('select*from table')
查询集合.columns
django.db.models.query.QuerySet
没有columns属性


我没有用生的。。。我正在调试一个使用Q过滤器的普通查询集。。。它返回了太多的记录。。。因此,我编写了代码以查看使用普通SQL的结果。我希望查看查询集中调用的列和实际SQL,这样我就可以诊断问题所在,而无需猜测


如何从
django.db.models.query.QuerySet
实例中获取要执行的列或SQL?

好的,根据您的评论,如果您想查看django根据SQL创建了什么,可以在
QuerySet
上使用一个属性

一旦您编写了查询,
qs=MyModel.objects.all()
,您就可以通过执行
qs.query
来检查它,如果您打印出来,它将显示SQL查询本身

您必须检查此查询以查看包含哪些列


query
对象是一个名为
query
的类,我在django文档中找不到它,但它的源代码在这里

首先,为什么不使用ORM为您想要的列使用
?如果你避免使用原始的,你也会得到ORM的安全保障。如果您真的需要使用
raw
,这些文档应该对列有帮助;我没有用生的。。。我正在调试一个使用Q过滤器的普通查询集。。。它返回了太多的记录。。。因此,我编写了代码以查看使用普通SQL的结果。我希望查看查询集中调用的列和实际SQL,这样我就可以诊断问题所在,而无需猜测。