mới với SQLAlchemy, đây là vấn đề của tôi:số nhiều nhiều bảng tham gia với SQLAlchemy
mô hình của tôi là:
user_group_association_table = Table('user_group_association', Base.metadata,
Column('user_id', Integer, ForeignKey('user.id')),
Column('group_id', Integer, ForeignKey('group.id'))
)
department_group_association_table = Table('department_group_association', Base.metadata,
Column('department', Integer, ForeignKey('department.id')),
Column('group_id', Integer, ForeignKey('group.id'))
)
class Department(Base):
__tablename__ = 'department'
id = Column(Integer, primary_key=True)
name = Column(String(50))
class Group(Base):
__tablename__ = 'group'
id = Column(Integer, primary_key=True)
name = Column(String)
users = relationship("User", secondary=user_group_association_table, backref="groups")
departments = relationship("Department", secondary=department_group_association_table, backref="groups")
class User(Base):
__tablename__ = 'user'
id = Column(Integer, primary_key=True)
firstname = Column(String(50))
surname = Column(String(50))
Vì vậy, mã này phản ánh mối quan hệ sau:
-------- --------- --------------
| User | --- N:M --- | Group | --- N:M --- | Department |
-------- --------- --------------
Tôi đã cố gắng làm việc với các cuộc tham gia nhưng vẫn không thành công khi thực hiện những việc sau:
Một yêu cầu SQLAlchemy để có được tất cả những người sử dụng các trường hợp khi biết một tên Lãnh thổ hải (giả sử 'R & D ")
này nên bắt đầu với:
session.query(User).join(...
or
session.query(User).options(joinedLoad(...
Bất cứ ai có thể giúp đỡ?
Cảm ơn thời gian của bạn,
Pierre