【问题标题】:Is it necessary to use `relationship()` in SQLAlchemy?是否有必要在 SQLAlchemy 中使用“relationship()”?
【发布时间】:2017-09-28 14:37:55
【问题描述】:

我注意到许多 SQLAlchemy 教程会使用relationship() 将多个表“连接”在一起,它们的关系可能是一对一、一对多或多对多。但是,据我所知,在使用原始 SQL 时,您无法显式定义表之间的关系。

在什么情况下relationship() 需要和不需要?为什么我们必须在 SQLAlchemy 中显式定义表之间的关系?

【问题讨论】:

    标签: python sqlalchemy


    【解决方案1】:

    在 SQL 中,通过外键相互关联。在 ORM 中,模型通过关系相互关联。您不需要使用关系,就像您不需要使用模型(即 ORM)一样。映射类使您能够处理表就好像它们是内存中的对象;同样,关系使您能够使用外键就好像它们是内存中的引用

    您想建立关系的目的与建立模型的目的相同:方便。为此,两者携手并进。具有原始外键但没有关系的模型并不常见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-17
      • 1970-01-01
      • 2022-01-03
      • 2019-04-25
      • 2022-01-24
      相关资源
      最近更新 更多