Баг при загрузке вложенных данных из бд sqlalchemy
Не могу разобраться с sqlalchemy запросами. У меня есть 3 модели:
class Master(Base):
master_id = Column(BigInteger, primary_key=True, autoincrement=False)
...
photos = relationship(
"MasterPhotos", back_populates="master", cascade="delete, delete-orphan"
)
class Complaints(Base):
complaint_id = Column(Integer, primary_key=True)
...
master = relationship("Master", back_populates="complaints")
class MasterPhotos(Base):
photo_id = Column(Integer, primary_key=True)
master_id = Column(BigInteger, ForeignKey("master.master_id"), nullable=False)
photo_path = Column(String(400), nullable=False)
master = relationship("Master", backref="master_photos")
Нужно получить все записи из Complaints так, чтобы вывод содержал все данные о мастере и все его фотографии из таблицы MasterPhotos.
Я уже реализовал такую выборку из другой модели вот так:
result = await session.execute(
select(MessageToWeb)
.options(
selectinload(MessageToWeb.master)
.selectinload(Master.photos)
)
.where(MessageToWeb.user_id == id)
.order_by(MessageToWeb.complaint_date.asc())
)
Но беда в том, что при использовании такого же кода:
selectinload(Complaints.master)
.selectinload(Master.photos),
Я получаю ошибку ORM mapped entity or attribute "Master.photos" does not link from relationship "Complaints.master". Помогите разобраться