在SQLAlchemy中,如何创建“MySQL日期”列?

时间:2011-11-26 08:39:05

标签: mysql database date orm sqlalchemy

class Posts(Base):
    __tablename__ = 'posts_posts'
    id = Column(Integer, primary_key = True)
    user_id = Column(Integer, nullable=False)
    body = Column(Text, nullable=True)

    created_at = Column(Date) << is this right?
    updated_at = Column(Date) ??

我还希望created_at列自动设置创建日期。 此外,updated_at列可以在此行更改时随时设置日期。

1 个答案:

答案 0 :(得分:23)

您可以向default提供onupdateColumn参数:

def _get_date():
    return datetime.datetime.now()

class Posts(Base):
    #...
    created_at = Column(Date, default=_get_date)
    updated_at = Column(Date, onupdate=_get_date)

有关此问题的详情,请参阅Column文档。