我希望我的模型的主键是一个自动递增的整数
class Region(db.Model):
__tablename__ = 'regions'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(100))
parent_id = db.Column(db.Integer, db.ForeignKey('regions.id'))
parent = db.relationship('Region', remote_side=id, primaryjoin=('Region.parent_id==Region.id'), backref='sub-regions')
created_at = db.Column(db.DateTime, default=db.func.now())
deleted_at = db.Column(db.DateTime)
上面的代码创建了我的表,但是没有使 id
自动递增。因此,如果在我的插入查询我错过了 id
字段,它给我这个错误
ERROR: 列“ id”中的 null 值违反了非 null 约束
因此,我将 id
声明更改为如下所示
id = db.Column(db.Integer, db.Sequence('seq_reg_id', start=1, increment=1),
primary_key=True)
仍然是同样的错误。上面的代码有什么问题吗?