在(Flask) SQLAlchemy中可以为类模型声明可选且唯一的属性吗?
我只是想声明一个属性,这个属性是唯一的,而且是可选的。在使用Python的Sql Alchemy、Flask和Flask-SQLAlchemy时,这样做可以吗?
membership_number = db.Column(db.String(120), unique=True)
1 个回答
0
如果这是一个主键,你可以直接把它定义为 primary_key
:
class MyModel(db.Model):
membership_id = db.Column(db.Integer, primary_key=True)
但是如果你需要它在主键之外也要保持唯一性,就要使用 UniqueContraint
class MyModel(db.Model):
id = db.Column(db.Integer, primary_key=True)
membership_id = db.Column(db.String)
__table_args__ = (db.UniqueConstraint('membership_id'),)
或者
membership_id = db.Column(db.String, unique=True)