默认值不适用于flask-sqlalchemy中的反射模型

时间:2018-10-23 11:51:07

标签: python mysql flask sqlalchemy flask-sqlalchemy

我有2个不同的flask应用程序使用SqlAlchemy反射共享同一数据库。除了像这样的列,一切工作正常:
created_on = Column(db.DateTime, default=datetime.utcnow)
updated_on = Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
在插入或更新时未获得默认值。
我需要覆盖反射模型中的那些列吗?

1 个答案:

答案 0 :(得分:0)

原来,这是反射的正常限制。因为default是客户端/应用程序端操作,其中默认值由应用程序代码生成。 https://docs.sqlalchemy.org/en/latest/core/reflection.html#limitations-of-reflection 我已将default替换为server_default来修复它。不得不牺牲python DateTime格式。