在 Python 中使用 SQLAlchemy 创建关系
当尝试创建 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中文网其它相关文章!