使用RawSQL获取Django中PostgreSQL支持的时区列表

时间:2019-01-02 12:39:25

标签: django postgresql

我正在尝试获取Django项目中PSQL数据库支持的所有时区的列表,因此我可以先将时区验证为时间戳,然后再将其发送到数据库。我问了另一个问题,并在这里得到了有关PSQL查询的答案:

How to get the list of timezones supported by PostgreSQL?

以此,我正在尝试执行以下操作:

from django.db.models.expressions import RawSQL

RawSQL("SELECT name, abbrev, utc_offset, is_dst FROM pg_timezone_names;", [])

但是,它似乎不起作用。我看到了RawSQL的文档,并且通常会附加一个模型,而我实际上没有。如何解决这个问题?谢谢。

1 个答案:

答案 0 :(得分:1)

关注应该对您有用

from django.db import connection

 with connection.cursor() as cursor: 
    cursor.execute("SELECT name, abbrev, utc_offset, is_dst FROM pg_timezone_names")
    zones = cursor.fetchall()