Django通过向原始列添加5小时30分钟来查询日期时间

时间:2016-05-26 10:13:18

标签: django django-models django-queryset

我正在尝试为订单编写Django查询,当添加5小时30分钟满足条件时,created_at为datetime

SELECT id, created_at + time '5:30' as created_at , date(created_at + time '5:30') as created_date
          FROM orders WHERE date(created_at + time '5:30') > today_date

如何将其转换为Django ORM?

1 个答案:

答案 0 :(得分:0)

我假设设置中的TIME_ZONE设置为'Asia / Kolkata'(即UTC + 5:30)。如果您有此设置,则可以使用django的时区模块。

假设'订单'中的型号名称。以上查询将以ORM形式显示:

from django.utils import timezone
orders = Order.objects.filter(created_at__gt=timezone.now().date())

并将从此查询获得的日期转换为您的时区:

order = orders.first()
created_at = timezone.localtime(order.created)