使用flask-sqlalchemy可以通过定义外键关系来确保两个不同表中的两个主键具有唯一性。具体步骤如下:
db.Column
来创建列。例如,假设有两个表Table1
和Table2
,分别有主键字段id1
和id2
。from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class Table1(db.Model):
id1 = db.Column(db.Integer, primary_key=True)
# 其他字段...
class Table2(db.Model):
id2 = db.Column(db.Integer, primary_key=True)
# 其他字段...
db.ForeignKey
来创建外键关系。例如,假设将Table2
的主键id2
作为外键关联到Table1
的主键id1
。class Table2(db.Model):
id2 = db.Column(db.Integer, primary_key=True)
table1_id = db.Column(db.Integer, db.ForeignKey('table1.id1'))
# 其他字段...
db.relationship
来定义关系。在Table1
中定义一个属性,表示与Table2
的关系,并使用backref
参数指定反向引用。在Table2
中定义一个属性,表示与Table1
的关系。class Table1(db.Model):
id1 = db.Column(db.Integer, primary_key=True)
table2 = db.relationship('Table2', backref='table1')
# 其他字段...
class Table2(db.Model):
id2 = db.Column(db.Integer, primary_key=True)
table1_id = db.Column(db.Integer, db.ForeignKey('table1.id1'))
# 其他字段...
通过以上步骤,使用flask-sqlalchemy可以确保两个不同表中的两个主键具有唯一性。
领取专属 10元无门槛券
手把手带您无忧上云