【发布时间】:2014-05-24 19:21:07
【问题描述】:
如何输出 Django 管理员生成的 SQL 以查询 dhangelist 页面的结果?我尝试通过以下方式覆盖queryset():
def queryset(self, *args, **kwargs):
qs = super(MyAdmin, self).queryset(*args, **kwargs)
print 'sql:',qs.query
return qs
但即使我正在浏览 /admin/myapp/mymodel/?segment=123&date=2012-1-1,这也显示了查询:
sql: SELECT myapp_mymodel.id, myapp_mymodel.segment, myapp_mymodel.start_date
FROM myapp_mymodel ORDER BY myapp_mymodel.start_date ASC
请注意我在 URL 中指定的任何过滤器完全没有。
我正在尝试调试一个奇怪的问题,如果我在 SQL 中手动查询表,我会看到一个结果,但 Django 的管理员显示的是完全不同的东西。我怀疑 Django 中存在导致生成错误 SQL 的错误,但我需要查看 SQL 以确认这是问题所在。
我正在使用 Django 1.5。
【问题讨论】:
标签: python django django-orm