Django PostgreSQL查询不返回任何值

时间:2016-03-26 18:47:41

标签: django postgresql python-3.x

Django版本:1.9.3 Python版本:3 PostgreSQL版本:9.4.6

摘要

我正在尝试按用户名分组“check_date”的总数。两个查询似乎都很好,但是Django在运行后没有返回任何结果。这与PostgreSQL中的预期相同。

详情

数据库表:

 id |  username   | check_date 
----+-------------+------------
  1 | john        | 2016-03-26
  2 | john        | 2016-03-26
  3 | samantha    | 2016-03-26
  4 | samantha    | 2016-03-26
  5 | samantha    | 2016-03-26

Django Class:

class UserTable(models.Model):
 username = models.CharField(max_length=15)
 check_date = models.CharField(max_length=15, blank=True)

Django查询:

date = str(u'\''+date+'\'')
userCount = UserTable.objects.filter(check_date=date)
userCount = userCount.values('username').annotate(total = models.Count('username'))

请注意,由于Django删除了引号并因此影响了查询,因此在将日期变量传递给过滤器之前,我必须“调整”日期变量(即使日期字段现在不是DateField)。

Django查询结果==> print (userCount.query)

SELECT "users_table"."username", COUNT("users_table"."username") AS "total" FROM "users_table" WHERE "users_table"."check_date" = '2016-03-26' GROUP BY "users_table"."username"

在PostgreSQL中运行查询:

   username  | total 
-------------+-------
 john        |    2
 samantha    |    3

在Django中运行查询:

[]

感谢任何帮助。

0 个答案:

没有答案