在(Flask) SQLAlchemy中可以为类模型声明可选且唯一的属性吗?

0 投票
1 回答
970 浏览
提问于 2025-04-18 06:30

我只是想声明一个属性,这个属性是唯一的,而且是可选的。在使用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)

撰写回答