我有一個看起來像這樣的用戶類:
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
first_name = db.Column(db.String(15), unique=True, nullable=False)
last_name = db.Column(db.String(15), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
password = db.Column(db.String(60), nullable=False)
def __repr__(self):
return f"User('{self.first_name}', '{self.last_name}', '{self.email}')"
正如你所看到的,first_name并且last_name必須是獨一無二的,但這并不是我真正想要的。相反,我希望全名是唯一的,所以first_name和last_name一起必須是唯一的。我怎樣才能做到這一點?
uj5u.com熱心網友回復:
您可以使用宣告性表配置并定義唯一約束。但是,請記住,可能有幾個人的名字和姓氏組合相同。
class User(db.Model, UserMixin):
__table_args__ = (db.UniqueConstraint('first_name', 'last_name'),)
id = db.Column(db.Integer, primary_key=True)
first_name = db.Column(db.String(15), nullable=False)
last_name = db.Column(db.String(15), nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
password = db.Column(db.String(60), nullable=False)
def __repr__(self):
return f"User('{self.first_name}', '{self.last_name}', '{self.email}')"
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/469137.html
