SQLAlchemy:如何在ORM类中转换colum的值

时间:2016-05-27 14:19:29

标签: python sqlite orm sqlalchemy

我使用SQLAlchemy从(给定的)SQLite数据库中读取。不幸的是,时间值是String而不是TIMESTAMP,如" Fri Apr 15 15:57:59 2016"

class Test(Base):
    __tablename__ = 'test'
    id = Column('id', String, primary_key=True)
    time = Column('id', String)

有没有办法转换/映射即时,以便class.time返回一个日期时间对象?

1 个答案:

答案 0 :(得分:1)

我建议在你的模特身上抛出一个属性:

from datetime import datetime

class Test(Base):
    __tablename__ = 'test'
    id = Column('id', String, primary_key=True)
    _time = Column('time', String)

    @property
    def time(self):
        return datetime.strptime(self._time, '%Y-%m-%d %H:%M')

当然,您必须确保strptime的格式合适。但是这样你就可以调用.time并获得合适的时间戳。