gpt4 book ai didi

python - SQLAlchemy:将多个实例映射到同一行

转载 作者:太空宇宙 更新时间:2023-11-03 18:03:47 25 4
gpt4 key购买 nike

考虑多对一关系:文章到关键字。
一篇文章只有一个关键词,单个关键词可以被多篇文章引用。

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 表中的唯一行。

这样保存a1a2:

a1 = Article()
a1.keyword = Keyword(name="science")

a2 = Article()
a2.keyword = Keyword(name="science")

不会产生违反唯一约束的情况。

目前,必须创建额外的查询,从 keyword 表中获取 FK,并将其在 Article 对象中设置为 Article.keyword_id

现实世界的模式变得非常无聊。

最佳答案

看看Unique Object食谱。

关于python - SQLAlchemy:将多个实例映射到同一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27232646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com