1
考慮多對一關係:Article-to-Keyword。
一篇文章只有一個關鍵詞,單個關鍵詞可以被多篇文章引用。現在SQLAlchemy:將多個實例映射到同一行
class Article(Base):
__tablename__ = 'article'
id = Column(Integer, primary_key=True)
keyword_id = Column(Integer, ForeignKey('keyword.id'))
keyword = relationship("Keyword")
class Keyword(Base):
__tablename__ = 'keyword'
id = Column(Integer, primary_key=True)
name = Column(String, nullable=False, unique=True)
,我希望能夠具有相同name
價值
與keyword
表中的唯一行的Keyword
多個實例相關聯。
這樣節省a1
和a2
:
a1 = Article()
a1.keyword = Keyword(name="science")
a2 = Article()
a2.keyword = Keyword(name="science")
不會產生違反唯一約束。
目前,人們必須創建附加查詢從keyword
表中提取FK,並將其設置爲Article
對象爲Article.keyword_id
。
對真實世界的模式非常無聊。
@van請刪除評論。 DRY;) – vucalur 2015-06-25 15:51:18