如何解决在带有触发器的sqlalchemy中将session.add插入分区表期间,实例具有NULL身份密钥错误
我在我的烧瓶项目中使用了PostgreSQL和sqlalchemy。
我最近使用PostgreSQL触发器基于created_on对我的一个大表进行了分区。
但是现在,如果尝试在sqlalchemy中使用db.session.add(obj)将记录插入主表中,我会得到错误提示
实例具有NULL身份密钥。如果这是一个自动生成的值,请检查数据库表是否允许生成新的主键值,以及映射的Column对象是否配置为期望这些生成的值。还要确保在不适当的时间(例如在load()事件中)不会发生flush()。
在这里,我正在使用序列来增加主键。请帮助我。
解决方法
在我的代码中定义列示例时使用autoincrement=True
, sno 是一个自动递增字段:
class Contact(db.Model):
sno = db.Column(db.Integer,primary_key=True,autoincrement=True)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。