带有时区的时间戳,使用 django ORM 未知

Posted

技术标签:

【中文标题】带有时区的时间戳,使用 django ORM 未知【英文标题】:Timestamp with time zone, unknown using django ORM 【发布时间】:2019-01-11 08:24:28 【问题描述】:

从 MariaDB 转移到 postgres-10 后,我遇到了错误 我正在使用 Django-orm

function date_format(timestamp with time zone, unknown) 不存在 第 1 行:SELECT (DATE_FORMAT(created_at,'%h %p')) AS "in_hours", SUM(...

提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。

Model.objects.filter(franchise=franchise)\
             .filter(created_at__date=date)\
             .extra(select='in_hours': "DATE_FORMAT(created_at,'%%h %%p')") \
             .values('in_hours')\
             .order_by('created_at__hour')\
             .annotate(total_amount=Sum('amount'))

谁能解释一下哪里出错了。 谢谢

【问题讨论】:

【参考方案1】:

Postgres中没有DATE_FORMAT函数,必须使用TO_CHAR https://www.postgresql.org/docs/9.1/functions-formatting.html

【讨论】:

以上是关于带有时区的时间戳,使用 django ORM 未知的主要内容,如果未能解决你的问题,请参考以下文章

使用 Django ORM 计算不同时区每天的事件类型

在带有 C 扩展名的 Postgres DB 中使用时区存储时间戳?

如何在 JPA 2 实体中映射 postgresql“带有时区的时间戳”

带有时区的 if-modified-since 的 PHP 时间戳

ORA-01870 试图将日期转换为带有时区的时间戳

PostgreSQL在没有时区的时间戳类型的表中搜索