在尝试创建 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中文网其他相关文章!