如何使用SQLAlchemy ORM指定PostgreSQL DateStyle属性

时间:2013-04-09 09:30:50

标签: python postgresql sqlalchemy

PostgreSQL支持使用此处提到的DateStyle属性指定日期格式, http://www.postgresql.org/docs/current/interactive/runtime-config-client.html#GUC-DATESTYLE。 (链接最初是8.3版本的文档)。

我找不到有关如何定义此属性的任何SQLAlchemy ORM文档参考。有可能吗?

1 个答案:

答案 0 :(得分:3)

SQLAlchemy使用DBAPI(通常是psycopg2)来编组来自python datetime对象的日期值 - 然后您可以使用标准python技术以任何方式格式化/解析。因此,不需要数据库端日期格式化功能。

如果你想设置这个变量,你可以只执行PG的SET语句:

conn = engine.connect()
conn.execute("SET DateStyle='somestring'")
# work with conn

使所有连接全局化:

from sqlalchemy import event
from sqlalchemy.engine import Engine

@event.listens_for(Engine, "connect")
def connect(dbapi_connection, connection_record):
    cursor = dbapi_connection.cursor()
    cursor.execute("SET DateStyle='somestring'")
    cursor.close()