通过中间表实现SQLAlchemy外键关系

0 投票
1 回答
996 浏览
提问于 2025-04-15 19:05

假设我有一个表叫做 Articles,里面有字段 article_idcontent,并且这个表里有一篇文章,文章的ID是 1

我还有一个表叫做 Categories,里面有字段 category_id(主键)和 category_name,这个表里有一个类别,类别的ID是 10

现在,我有一个表叫做 ArticleProperties,这个表是用来给 Articles 添加属性的。它有字段 article_idproperty_nameproperty_value

假设我想通过 ArticleProperties 表来建立 CategoriesArticles 之间的关联。

我可以通过在 ArticleProperties 表中插入以下值来实现这个关联:(article_id=1, property_name="category", property_value=10)。

请问在 SQLAlchemy 中,有没有办法表示 ArticleProperties 表中 property_name 为 "category" 的行,实际上是 Articles 表和 Categories 表之间的外键?

这个问题比较复杂,我自己没有找到答案。

任何帮助都非常感谢!

谢谢,Boda Cydo。

1 个回答

1

假设我理解你的问题没错,那么不,你不能像你说的那样来建模这个关系。(如果你能描述一下你想要的结果,而不是你认为的解决方案,那会更有帮助)

我觉得你可能想要的是一个叫做ArticleCategories的多对多映射表,这个表里有两个整数类型的列,分别是ArticleID和CategoryID(它们各自有外键)。

撰写回答