Django models 带有日期gt和gte的SQLite WHERE子句发出相同的结果

Django models 带有日期gt和gte的SQLite WHERE子句发出相同的结果,django-models,sqlite,Django Models,Sqlite,我使用SQLite作为临时db后端来调试django应用程序。我需要选择datetime gt(大于)给定值的记录,但看起来SQLite忽略gt并始终使用gte(大于或等于) 例如: model.objects.all().filter(Q(field_foo__exact='foo'), Q(field_date__gt='2014-11-03'))[:3] 除了一种情况,即如果表中已经有一个字段_date等于搜索条件的记录,那么它就可以正常工作。所以,作为 另外,我记录了django OR

我使用SQLite作为临时db后端来调试django应用程序。我需要选择datetime gt(大于)给定值的记录,但看起来SQLite忽略gt并始终使用gte(大于或等于)

例如:

model.objects.all().filter(Q(field_foo__exact='foo'), Q(field_date__gt='2014-11-03'))[:3]
除了一种情况,即如果表中已经有一个字段_date等于搜索条件的记录,那么它就可以正常工作。所以,作为

另外,我记录了django ORM生成的查询,并处理了这个查询。同样的结果。查询:

SELECT * FROM table WHERE (foo='foo' AND date>date('2014-11-03'))
向查询发出相同的结果:

SELECT * FROM table WHERE (foo='foo' AND date>=date('2014-11-03'))
如果有日期为“2014-11-03”的记录


这是已知的特征吗?我做错了什么吗?

记录中字符串的确切值是多少?@CL.,由您的问题触发,我仔细查看了这些值,发现了一个小错误-请求url没有编码。因此,时区符号“+”被解释为空格,这混淆了时间戳解析器,给出了用于查询数据库的始终不正确的datetime对象。编码url解决了这个问题!谢谢