postgresql - 实例在使用 sqlalchemy 中的 session.add() 插入带触发器的分区表期间出现 NULL 标识键错误
问题描述
我正在为我的烧瓶项目使用 postgresql 和 sqlalchemy。
我最近使用 postgresql 触发器基于 created_on 对我的一个大表进行了分区。
但是现在如果尝试在 sqlalchemy 中使用 db.session.add(obj) 将记录插入主表,我会收到错误消息
实例有一个 NULL 身份密钥。如果这是一个自动生成的值,请检查数据库表是否允许生成新的主键值,以及映射的 Column 对象是否配置为期望这些生成的值。还要确保此 flush() 不会在不适当的时间发生,例如在 load() 事件中。
在这里,我使用一个序列来增加我的主键。请帮我解决一下这个。
解决方案
autoincrement=True
在我的代码中定义列示例时使用sno是一个自动增量字段:
class Contact(db.Model):
sno = db.Column(db.Integer, primary_key=True,autoincrement=True)
推荐阅读
- python - 如何修复python中的input()函数
- xpath - 使用 contains 返回太多结果
- php - 如何使轮播与php正常工作
- spss-modeler - SPSS Modeler 先不观察
- windows - Inno Setup:如何更改卸载背景颜色
- docker - 如何在 gitlab 管道中转发 .gitlab-ci ssh-add 命令?
- scala - Spark(scala)数据框 - 检查列中的字符串是否存在于另一个数据框的列中
- javascript - 如果折扣有效,lodash 按 discountPrice 排序数组
- java - 在 Google Dataproc Spark 中链接原生 .so
- python - Pandas 从列表中设置 dtype