rye*_*guy 16 python database-design sqlalchemy
当我尝试使用SQLAlchemy将新记录插入数据库并且我没有填写所有值时,它会尝试将它们插入为"无"(而不是省略它们).然后它抱怨"不能为空"错误.有没有办法让它只是省略sql查询中的列,如果我在声明实例时也省略了它们?
Van*_*ale 50
要添加到Ali A的答案,这意味着您需要nullable=True在列定义中,以便在列中允许NULL.例如:
email_address = Column(String, nullable=True)
Run Code Online (Sandbox Code Playgroud)
表和列的SQLAlchemy文档,摘自v1.2 doc:
nullable - 设置为False时,将在为列生成DDL时添加"NOT NULL"短语.当为True时,通常不会生成任何内容(在SQL中默认为"NULL"),除非在某些非常特定的后端特定边缘情况下,"NULL"可以显式呈现.默认为True,除非primary_key也为True,在这种情况下默认为False.此参数仅在颁发CREATE TABLE语句时使用.