Отношение «многие ко многим» в SQLAlchemy по крайней мере - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть отношение многие ко многим в sqlalchemy, скажем, его Clubs и Members.

A Club может иметь одного или нескольких членов, но не может иметь ни одного .
A 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')

Есть ли простое расширение, которое мне не хватает, которое обеспечивает целостность при необходимости?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...