Как получить данные для м2м связанных моделей через ОРМ запрос SQLAlchemy

Я новичок в SQLAlchemy. У меня есть модели -

class Category(Base):
    __tablename__ = 'categories'
    id = Column(Integer, primary_key=True)
    name = Column(String(50), nullable=False)
    books = relationship('Book', secondary='book_categories')


class Book(Base):
    __tablename__ = "books"
    id = Column(Integer, primary_key=True)
    title = Column(String(255), nullable=False)
    description = Column(String(), nullable=True)
    is_borrowed = Column(Boolean, default=False)
    categories = relationship('Category', secondary='book_categories')


class BookCategory(Base):
    __tablename__ = "book_categories"
    book_id = Column(Integer, ForeignKey('books.id'), primary_key=True)
    category_id = Column(Integer, ForeignKey('categories.id'), primary_key=True)

Данные модели связаны между собой М2М связью Мне нужно получить список книг + категории для каждой, используя BookCategory Т.е. вид примерно такой -

Book {
book_info,
categories{
    category_info,
    category_info,
}
}

Написать на row sql мне бы не составило труда, но с ОРМ уже два часа пытаюсь понять, как написать этот запрос, всё что пытаюсь не работает :(


Ответы (0 шт):