我在sqlalchemy中有多对多关系,可以说它的Clubs
和Members
。
Club
可以有一个或多个成员,但不能没有成员。
Member
可以是一个,一个或多个俱乐部的一部分。
所以这在配置上是不对称的,我怀疑下面的对称代码默认情况下不会对此进行限制。
ass_table = Table('association', db.Model.metadata,
Column('member_id', db.Integer, db.ForeignKey('member.id')),
Column('club_id', db.Integer, db.ForeignKey('club.id'))
)
class Member(db.Model):
__tablename__ = 'member'
id = db.Column(db.Integer, primary_key=True)
clubs = db.relationship('Club', secondary=ass_table, back_populates='members')
class Club(db.Model):
__tablename__ = 'club'
id = db.Column(db.Integer, primary_key=True)
members = db.relationship('Member', secondary=ass_table, back_populates='clubs')
是否缺少一个简单的扩展名来确保所需的完整性?