SQLAlchemy / PostgreSQL无法创建具有正确时间戳格式的列

时间:2018-10-24 19:52:43

标签: python postgresql datetime sqlalchemy timezone

我正在创建下表。在脚本中运行此命令以填充数据库后,created_at列返回的值为“ 2018-10-24 19:47:22.60331”。

即使https://www.postgresql.org/docs/9.2/static/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT显示该功能是添加时区偏移,我也没有得到时区偏移。

def simulation_version_metadata(metadata):
    simulation_version = Table('simulation_version', metadata,
                               Column('id', Integer, primary_key=True),
                               Column('simulation_id', None,
                                      ForeignKey('simulation.id')),
                               Column('created_at', DateTime,
                                      server_default=func.current_timestamp()),
                               Column('updated_at', DateTime,
                                      server_default=func.current_timestamp()),
                               )
    return simulation_version

1 个答案:

答案 0 :(得分:1)

SQLAlchemy中的

DateTime列默认为timezone=False。将timezone=True设置为:

Column('created_at', DateTime(timezone=True), server_default=func.current_timestamp())