在嘗試建立 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中文網其他相關文章!