我使用SQLite作为临时数据库后端来调试我的django应用程序。我需要选择具有datetime gt(大于)给定值的记录,但看起来像SQLite忽略gt并始终使用gte(大于或等于)!
例如:
model.objects.all().filter(Q(field_foo__exact='foo'), Q(field_date__gt='2014-11-03'))[:3]
除了一种情况之外,它的工作正常,即,如果table已经有一个field_date等于搜索条件的记录。所以,__ gt充当__gte
此外,我记录了由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'。
这是否已知功能?我做错了吗?