模型类默认关键字在sqlalchemy中如何工作

时间:2018-10-19 07:54:24

标签: python 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是我要插入到计划表中的字典列表。

1 个答案:

答案 0 :(得分:3)

根据documentation,如果您不提供该列,则它将填充默认值

  

表示此列默认值的标量,Python可调用或ColumnElement表达式,如果在插入的VALUES子句中未指定此列,则将在插入时调用该表达式。这是将ColumnDefault用作位置参数的快捷方式。有关该参数的结构的详细信息,请参见该类。

我觉得您正在给default_c一个空值。从default_c中删除Plan_dict,然后尝试一下。