SQLAlchemy多对多关系约束至少

时间:2018-11-03 15:09:00

标签: python sqlalchemy foreign-keys many-to-many

我在sqlalchemy中有多对多关系,可以说它的ClubsMembers

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')

是否缺少一个简单的扩展名来确保所需的完整性?

0 个答案:

没有答案