Django ORM:为什么Django会单独使用SELECT(1)?

时间:2011-10-12 02:06:01

标签: python sql django sqlite

当使用Django(使用SQLite3)时,我注意到connection.queries中的以下查询:

"sql": "SELECT (1) AS \"a\" FROM \"blog_comment\" WHERE \"blog_comment\".\"id\" = 5  LIMIT 1"

我理解查询的 (只返回每个匹配行的第一列),但为什么要这样做?

这只是在SQLite3中检查EXISTS的廉价方法吗?如果是这样,它将在什么情况下单独使用?

1 个答案:

答案 0 :(得分:6)

只是检查是否存在行 它没有任何意义,因为“1”是一个常数值