我已聲明性地定義的下表(非常簡化的版本):SQLAlchemy的許多一對多關係聲明性表
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
資料鏈接經由許多一對多關係對問題。在鏈接表(答案)中,我需要存儲答案的值。
該文件說我需要使用一個關聯對象來做到這一點,但它令我困惑,我無法讓它工作。
如何使用Answer作爲中介表爲Profile和Question表定義多對多關係?
編輯修復斷開的文檔鏈接。 – rbp 2012-04-11 11:56:47
這看起來不對。你的答案看起來像只通過多對一的關係將每一邊鏈接到關聯表。沒有提到多對多,即以下用法意味着orm級別的多對多:Profile.questions – 2014-02-24 19:46:31