【问题标题】:Default value not working for reflected model in flask-sqlalchemy [duplicate]默认值不适用于flask-sqlalchemy中的反射模型[重复]
【发布时间】:2018-10-23 20:03:45
【问题描述】:

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

【问题讨论】:

  • "Override default in sqlalchemy reflected tables"中涵盖了反射列的覆盖默认值
  • @IljaEverilä 我认为你错过了这个问题不是关于如何覆盖反射模型中的列。
  • 我没有错过,使用的重复目标不是关于覆盖列。之前的评论是针对您的最后一个问题“我需要覆盖反射模型中的那些列吗?”,您是否采取了这条路线。

标签: python mysql flask sqlalchemy flask-sqlalchemy


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2019-04-25
    • 2020-09-23
    • 2021-08-04
    • 2018-09-14
    • 2010-10-30
    • 2015-07-29
    • 2021-03-09
    • 2011-06-01
    • 1970-01-01
    相关资源
    最近更新 更多