分享

django sql语句查询(不需要插件)

 天才白痴书馆 2015-04-13

django sql语句查询(不需要插件)

我们通常用django model 来进行一些数据查询的时候,对内部执行的sql语句流程是不了解的,这对我们做一些sql方面的优化造成了一些困扰。

其实django model对象内部就有一个能够查询当前执行的sql语句。

比如:

你需要调用文章类别:

antype = Articletype.objects.values('id').filter(parent__isnull=True).exclude(id=6)

上面是输出类别的id,条件是parent_id is Null 并且id<>6

下面我们看下怎么用django 在控制台输出sql语句:

我们直接调用:

print antype.query

每个model对象都有一个query属性,输出当前执行的sql语句。

这样就行,输出结果:

SELECT `article_articletype`.`id` FROM `article_articletype` LEFT OUTER JOIN `article_articletype` T2 ON (`article_articletype`.`parent_id` = T2.`id`) WHERE (T2.`id` IS NULL AND NOT (`article_articletype`.`id` = 6 )) ORDER BY `article_articletype`.`rank` ASC, `article_articletype`.`id` DESC

上面的order字段信息我是在定义model的时候在class meta上就定义好了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多