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

oro*_*aki 3 python sql sqlite django

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

"sql": "SELECT (1) AS \"a\" FROM \"blog_comment\" WHERE \"blog_comment\".\"id\" = 5  LIMIT 1"
Run Code Online (Sandbox Code Playgroud)

我明白什么该做查询(只是从每个匹配行返回的第一列),但为什么要这样做呢?

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

gbn*_*gbn 6

它只是检查行的存在.
它没有任何意义,因为"1"是一个常数值