首页  >  文章  >  后端开发  >  在 Python 中使用 SQLAlchemy 创建关系

在 Python 中使用 SQLAlchemy 创建关系

PHPz
PHPz原创
2024-08-01 20:22:11395浏览

Creating relationships using SQLAlchemy in Python

在尝试创建 SQL 表时,SQLAlchemy 可以帮助完成 Python 中所需的许多任务,其中之一就是创建关系。

使用 SQLAlchemy 创建关系比仅使用 SQL 更容易。它通过更易于遵循的语法和更少的步骤来简化流程。

SQLAlchemy 已导入 Python,所有快捷语法都可以使用。

 from flask_sqlalchemy import SQLAlchemy

要创建关系,您必须首先创建表。 SQLAlchemy 通过将语法缩短为:

也使这变得简单
class Owner(db.Model, SerializerMixin):
    __tablename__ = "owners"
    id = db.Column(db.Integer, primary_key=True)

这将创建一个拥有者表,其 id 为主键。 其他代码可用于创建所有者的列属性。这些将有助于连接关系。创建列后,您可以连接我们稍后将创建的 Dog 表。关系的代码是:

dogs = db.relationship('Dog', back_populates='owner')

这将狗与主人联系起来,一个主人可以养很多只狗,但一只狗只有一个主人,从背面看,狗的数量是单一的。

然后你可以创建狗类和表。它可以有多个列属性。对于这种关系来说,最重要的是它应该有一个带有外键的所有者 ID。这在 SQLAlchemy 中写为:

owner_id = db.Column(db.Integer, db.ForeignKey('owners.id')) 

然后像主人一样就会有关系。这个则相反,使用以下代码将狗与主人连接起来:

owner = db.relationship('Owner', back_populates= 'dogs')

这里不是后面填充的是狗,而是狗,因为主人可以拥有许多狗,而之前的代码是所有者,因为一只狗有一个主人。

现在两个表将建立关系。如前所述,这在法律上减少了所需的代码量,并使语法变得简单,然后必须用 SQL 编写。

可以添加更多代码来添加关联代理并创建序列化规则,这将有助于无限循环,但上述内容将比没有 SQLAlchemy 更快地创建初始关系。

以上是在 Python 中使用 SQLAlchemy 创建关系的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn