函数UNIX_TIMESTAMP不存在

时间:2017-11-23 00:10:54

标签: django postgresql django-models

我正在尝试将我的日期时间转换为unix时间戳。我尝试了几种方法,但错误完全相同。我不太确定我想做什么。

date_joined就像这个2017-09-30 10:24:44.954981+00:00

function unix_timestamp(timestamp with time zone) does not exist
HINT: No function matches the given name and argument types. You might need to add explicit type casts.


User.objects.annotate(photo_time=Func(F('date_joined'),function='UNIX_TIMESTAMP'))
User.objects.extra(select={'photo_time':"to_unixtime(date_joined)"})
#also tried and UNIX_TIMESTAMP

1 个答案:

答案 0 :(得分:1)

那是因为Postgres不会让你这样做(see here)。如果您真的不需要UNIX_TIMESTAMP,则需要Extract

User.objects.annotate(photo_time=Extract('date_joined', 'epoch').get())

当然,你也可以定义一个TO_UNIXTIME存储过程/函数,但这似乎有点过头了。