У меня есть следующие таблицы, определенные декларативно (очень упрощенная версия):
class Profile(Base):
__tablename__ = 'profile'
id = Column(Integer, primary_key = True)
name = Column(String(65), nullable = False)
def __init__(self, name):
self.name = name
class Question(Base):
__tablename__ = 'question'
id = Column(Integer, primary_key = True)
description = Column(String(255), nullable = False)
number = Column(Integer, nullable = False, unique = True)
def __init__(self, description, number):
self.description = description
self.number = number
class Answer(Base):
__tablename__ = 'answer'
profile_id = Column(Integer, ForeignKey('profile.id'), primary_key = True)
question_id = Column(Integer, ForeignKey('question.id'), primary_key = True)
value = Column(Integer, nullable = False)
def __init__(self, profile_id, question_id, value):
self.profile_id = profile_id
self.question_id = question_id
self.value = value
Профиль связан с вопросом через отношения "многие-ко-многим". В таблице ссылок (Ответ) мне нужно сохранить значение для ответа.
В документации говорится, что мне нужно использовать объект ассоциации для этого, но это меня сбивает с толку, и я не могу заставить его работать.
Как определить отношение "многие ко многим" для таблиц профиля и вопроса, используя "Ответ" в качестве таблицы промежуточных?