通过中间表实现SQLAlchemy外键关系
假设我有一个表叫做 Articles
,里面有字段 article_id
和 content
,并且这个表里有一篇文章,文章的ID是 1
。
我还有一个表叫做 Categories
,里面有字段 category_id
(主键)和 category_name
,这个表里有一个类别,类别的ID是 10
。
现在,我有一个表叫做 ArticleProperties
,这个表是用来给 Articles
添加属性的。它有字段 article_id
、property_name
和 property_value
。
假设我想通过 ArticleProperties
表来建立 Categories
和 Articles
之间的关联。
我可以通过在 ArticleProperties
表中插入以下值来实现这个关联:(article_id=1, property_name="category", property_value=10)。
请问在 SQLAlchemy 中,有没有办法表示 ArticleProperties
表中 property_name
为 "category" 的行,实际上是 Articles
表和 Categories
表之间的外键?
这个问题比较复杂,我自己没有找到答案。
任何帮助都非常感谢!
谢谢,Boda Cydo。
1 个回答
1
假设我理解你的问题没错,那么不,你不能像你说的那样来建模这个关系。(如果你能描述一下你想要的结果,而不是你认为的解决方案,那会更有帮助)
我觉得你可能想要的是一个叫做ArticleCategories的多对多映射表,这个表里有两个整数类型的列,分别是ArticleID和CategoryID(它们各自有外键)。