首页 > 解决方案 > 模型类默认关键字如何在 sqlalchemy 中工作

问题描述

我已将模型类中列的映射设置为

class Plan(Base):
    __tablename__ = "plans"
    `default_c = Column(Boolean, default=False)`

但是当我使用 . 下面的代码。我还在(exceptions.TypeError) Not a boolean value: ''。我default_c的字典中有空字段。我想知道是否default应该处理这个问题。

conn.execute(Plan.__table__.insert(), Plan_dict) 

Plan_dict 是我要插入到计划表中的字典列表。

标签: pythonsqlalchemy

解决方案


根据文档,如果您不提供该列,那么它将填充默认值

表示此列的默认值的标量、Python 可调用或 ColumnElement 表达式,如果在插入的 VALUES 子句中未指定此列,则将在插入时调用。这是使用 ColumnDefault 作为位置参数的捷径;有关论点结构的完整详细信息,请参见该课程。

我觉得你给了default_c一个空值。default_c从您的中删除Plan_dict并尝试一下。


推荐阅读