我在我的应用中使用django-1.7。我有一个有两个DateTimeFields的模型。喜欢
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
},
map: {
lodash: 'node_modules/lodash/lodash.js',
twitter: 'node_modules/twitter/index.js'
},
meta: {
lodash: { format: 'amd' },
twitter: { format: 'amd' }
}
});
我希望使用小时class Task(models.Model):
start_time = models.DateTimeField(null=True, blank=True)
finish_time = models.DateTimeField(null=True, blank=True)
和start_time
过滤字段end_time
和gte
,以便我可以获取包含必须从a开始的Task对象的查询集特定时间,并在特定时间结束。我在
lte
但是这个查询给了我错误
Task.objects.filter(start_time__hour__gte=2)
Task.objects.filter(end_time__hour__lte=2)
我也尝试过queryset.raw,它提供了正确的值,但在使用 FieldError: Unsupported lookup 'hour' for DateTimeField or join on the field not permitted.
包时出错。
django-filters
帮助将受到欢迎
答案 0 :(得分:0)
我对此不太确定,但通过阅读文档听起来,hour__gte=2
语法仅在django 1.9中添加。以前版本的django只允许精确查找hour=2
。您可以考虑升级django并重试。
关于原始查询错误,我不知道你得到了什么错误,但是django doc也有它的语法。您可能会查看确切的sql语句,因为数据库的每个sql语句都不同。这可能会解决您的问题,因为您不想升级django。