我想在SQLAlchemy中的字段ID上使用autoincrement选项,而无需将该列设置为主键。像这样:
class CaseModel(db.Model):
__tablename__ = 'case'
unique_id = db.Column(UUID(as_uuid=True), unique=True, nullable=False, primary_key=True)
id = db.Column(db.Integer(), autoincrement=True)
有可能吗?
答案 0 :(得分:0)
您可以使用混合属性来做到这一点:
class CaseModel(db.Model):
__tablename__ = 'case'
CURRENT_ID_VALUE = 1
unique_id = db.Column(UUID(as_uuid=True), unique=True, nullable=False, primary_key=True)
_id = db.Column(db.Integer())
@hybrid_property
def id(self):
return self._id
@id.setter
def id(self, _):
self._id = CaseModel.CURRENT_ID_VALUE
CaseModel.CURRENT_ID_VALUE += 1