我想知道 django 的 ORM 在 create 或 save 的时候执行的 sql 语句,有没有办法查询到?

2016-05-11 18:52:38 +08:00
 chaleaoch
例如 queryset 我们可以这样:

>>> a =Post.objects.all()
>>> a
[<Post: >, <Post: hello_title>]
>>> print a.query
SELECT `posts_post`.`id`, `posts_post`.`title`, `posts_post`.`content`, `posts_post`.`publish`, `posts_post`.`updated` FROM `posts_post` ORDER BY `posts_post`.`updated` DESC, `posts_post`.`publish` DESC
>>> type(a)
<class 'django.db.models.query.QuerySet'>

但是 create 或 save 的时候怎么办?
求菊苣不吝告之。。。
3300 次点击
所在节点    Django
5 条回复
ETiV
2016-05-11 19:00:34 +08:00
mysql 开 general log
啥都能看见
chaleaoch
2016-05-11 19:03:18 +08:00
自问自答:
>>> from django.db import connection
>>> connection.queries

另,感谢楼上
@ETiV
lyhapple
2016-05-11 22:38:59 +08:00
你需要 django debug tool 这个第三方库
junzki
2016-05-11 23:35:42 +08:00
roricon
2016-05-11 23:56:44 +08:00
http://stackoverflow.com/a/2314982
用的比较爽的解决方案

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/277982

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX