首頁 > 後端開發 > Python教學 > 在 Python 中使用 SQLAlchemy 建立關係

在 Python 中使用 SQLAlchemy 建立關係

PHPz
發布: 2024-08-01 20:22:11
原創
497 人瀏覽過

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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板