У меня есть пользователь и таблица ветвей, и у нее есть отношения «многие ко многим». Следовательно, я определил таблицу ассоциаций.
user_branch_map = db.Table(
'user_branch_map',
db.Column('user_id', db.Integer, db.ForeignKey('user.id'), primary_key=True),
db.Column('branch_id', db.Integer, db.ForeignKey('branch.id'), primary_key=True)
)
таблица user_branch_map имеет следующее содержимое: 1006 * Как я могу распечатать результат user_branch_map не идентификаторы, а результат соединения таблицы пользователей и ветвей. Я могу распечатать информацию таблицы ветвей, но мне также нужна информация о пользователе. Я пробовал следующие способы:
def get(self):
# maptable= User.query.join(user_branch_map).join(Branch). \
# filter((user_branch_map.c.user_id == User.id) & (user_branch_map.c.branch_id == Branch.id)).all()
# print(type(maptable))
# # maptable = db.session.query(user_branch_map).join(User).all()
# # print(maptable)
# for row in maptable:
# print(row)
# branches = db.session.query(Branch).all()
# q = db.session.query(User).options(eagerload(User.branches))
# for u in q.all():
# for c in branches:
# print (c.id, c.name,(c in u.branches))
q = db.session.query(user_branch_map).join(Branch).join(User).all()
print(q)