我有2个不同的flask应用程序使用SqlAlchemy反射共享同一数据库。除了像这样的列,一切工作正常:
created_on = Column(db.DateTime, default=datetime.utcnow)
updated_on = Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
在插入或更新时未获得默认值。
我需要覆盖反射模型中的那些列吗?
答案 0 :(得分:0)
原来,这是反射的正常限制。因为default
是客户端/应用程序端操作,其中默认值由应用程序代码生成。
https://docs.sqlalchemy.org/en/latest/core/reflection.html#limitations-of-reflection
我已将default
替换为server_default
来修复它。不得不牺牲python DateTime格式。