Python SQLAlchemy ORM - 1
本文為 Python SQLAlchemy ORM 一系列教學文:
Posted on Sep 28, 2016 in Python 模組/套件推薦 , Python 程式設計 - 高階 by Amo Chen ‐ 7 min read
本文為 Python SQLAlchemy ORM 一系列教學文:
Posted on Sep 28, 2016 in Python 模組/套件推薦 , Python 程式設計 - 高階 by Amo Chen ‐ 7 min read
本文為 Python SQLAlchemy ORM 一系列教學文:
Posted on Sep 28, 2016 in Python 模組/套件推薦 , Python 程式設計 - 高階 by Amo Chen ‐ 4 min read
本文為 Python SQLAlchemy ORM 一系列教學文:
Posted on Sep 28, 2016 in Python 模組/套件推薦 , Python 程式設計 - 高階 by Amo Chen ‐ 5 min read
SQLAlchemy ORM Query API 提供 filter(*criterion)
與 filter_by(**kwargs)
2 種 Query 方式,都是分別對應到 SQL 中的 WHERE
語句,不過用法上有些許出入。
特此筆記一篇。
Posted on Nov 24, 2018 in Python 模組/套件推薦 by Amo Chen ‐ 2 min read
越是使用 SQLAlchemy 就會越是發現 SQLAlchemy 在 Python ORM 的用心,例如 Mixin and Custom Base Classes 讓我們能夠將常見的資料庫欄位或者功能放在一起,變成 Mixin 類別(class) ,只要繼承該 Mixin 就能夠獲得相同的欄位與功能,減少重複的程式並提高可維護性( Djano 的 view 也有類似的作法,詳見 Using mixins with class-based views )。
Posted on Dec 8, 2018 in Python 模組/套件推薦 by Amo Chen ‐ 1 min read
SQLAlchemy 是 Python 生態系中相當成熟的 ORM(Object Relational Mapper) 套件,不過也因為支援相當多功能,所以經常要翻閱文件查詢 SQL 中相應的功能要如何撰寫。
本篇紀錄如何使用 SQLAlchemy 撰寫含有 IN
與 NOT IN
語句的 ORM.
Posted on Mar 24, 2019 in Python 模組/套件推薦 by Amo Chen ‐ 2 min read
SQLAlchemy ORM(Object-Relational Mapping)利用 relationship() 將多個 Model 關聯在一起,讓我們直接用存取屬性方式,直接就能夠使用被關聯的 model ,使用起來十分方便。
但是 SQLAlchemy ORM 的 relationship()
預設使用一種稱為 lazy loding
的技術,如果不了解其原理的話,很容易會有 n+1 query
的問題。
本文將簡單地談談 SQLAlchemy relationship()
。
Posted on Jun 1, 2019 in Python 模組/套件推薦 by Amo Chen ‐ 3 min read
Connection Pool 是資料庫連線管理的機制,用來節省資料庫連線的成本,達到較高的資源利用效益。 Connection Pool 會事先與資料庫一次建立多個連線(connection),並維持住這些連線,每當應用程式(Application)需要操作資料庫時,就會從 Connection Pool 中提供(checkout)連線給應用程式使用。
但是資料庫連線也有斷線的可能,那麼要如何確保從 Connection Pool 取得的連線是可用的呢?
其中一種確定連線可用的機制就是 Pre-ping 。
本文就來談談 Pre-ping 與 SQLAlchemy 的 Pre-ping 如何設定。
Posted on Jun 5, 2019 in Python 模組/套件推薦 by Amo Chen ‐ 2 min read