DateTimeField Django 上的查找时间

ray*_*shi 2 django django-models django-queryset

我有模型

class Item(models.Model):
    inicio = models.DateTimeField()
Run Code Online (Sandbox Code Playgroud)

当我尝试进行此查询时:

itens = Item.objects.filter(inicio__hour__gte=6)
Run Code Online (Sandbox Code Playgroud)

它返回给我:

FieldError 不受支持的 DateTimeField 查找“小时”或不允许加入该字段。

我怎样才能进行这个查询?

Ada*_*rrh 7

注意,这应该从Django 1.9 开始工作

Event.objects.filter(timestamp__hour=23)
Event.objects.filter(time__hour=5)
Event.objects.filter(timestamp__hour__gte=12)
Run Code Online (Sandbox Code Playgroud)

  • 谨防。根据 [docs](https://docs.djangoproject.com/en/2.2/ref/models/querysets/#hour):“当 USE_TZ 为 True 时,日期时间字段将在之前转换为 **当前时区**过滤。这需要数据库中的时区定义。” (2认同)