В SQLAlchemy, как создать столбец "дата MySQL"?

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 ответов


вы можете предоставить default и onupdate параметры Column:

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

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

посмотреть колонки документацию для получения дополнительной информации об этом.