python - Django ORM : how can i see last executed query on fly

标签 python django orm

假设我们有一个使用 django orm 的简单查询

filterd = User.objects.exclude(id = request.user.id ).filter(username=data['username'] )

这应该返回一些对象,但它没有返回! 显然我做错了,因为我对 django ORM 还不太满意,所以我会帮助很多人了解这一行中到底执行了什么查询

我四处搜寻,发现了这个

print(filter.query)

但我明白了

AttributeError: type object 'filter' has no attribute 'query'

我猜当没有返回对象时过滤器是 None 所以...我应该做什么?

最佳答案

尝试:

from django.db import connection as conn
filterd = User.objects.exclude(id = request.user.id).filter(username=data['username'] )
# to execute query
print filterd
print conn.queries

关于python - Django ORM : how can i see last executed query on fly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37616990/

相关文章:

mysql - 限制 Django 中数据的生命周期

python - NoReverseMatch at/sitemap.xml Django 与来自 app.urls 的 StaticViewSitemap

java - 在运行时从 db enum 为 jpa enum 生成值

sqlite - Sequelize 错误处理和代码优化

php - 与orm的kohana交易

python - 如何使用环境模块文件(tcl 脚本)加载 virtualenv?

python - 在 Python 中绘制多项式

python - Cassandra 查询只返回 5000 行

php - 从 php 运行 python 文件不会生成输出文件

Django 将请求数据传递给 Forms.py