I just need to declare an attribute that is unique and optional. Is it possible in Python Sql Alchemy using Flask and Flask-SQLAlchemy?

membership_number = db.Column(db.String(120), unique=True)

有帮助吗?

解决方案

If it is a primary key you can define it just as a primary_key:

class MyModel(db.Model):
    membership_id = db.Column(db.Integer, primary_key=True)

But if you need it to be unique apart from the primary_key use a 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'),)

or

    membership_id = db.Column(db.String, unique=True)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top