簡體   English   中英

在 python/flask 項目中處理大型數據庫的最佳方法

[英]The best way to to handle large databases in python/flask projects

最近我開始使用 flask,我非常喜歡。 過去我在 PHP 有一個系統,里面有很多數據庫,比如市場營銷、人力資源、財務等。 每個數據庫都有自己的表格,例如 HR 曾經有雇主、公司等。

Each of this tables was a class in PHP, we used this system to facilitate save/delete since they were used all over the system all we had to do was instantiate a new object from one of the table/class where which column was a object屬性,然后調用 $obj->Save() 在表中插入新行。

從那時起,編程已經發展了很多,所以我懷疑是否有更有效的方法在 python/flask 中做到這一點,而不是像我以前在 PHP 中那樣為數據庫中的每個表創建 class,我知道這是一個很大的問題,所以我會很感激有關該主題的書籍,維基等建議。

在高級編程語言中與數據庫交互的一種相當現代的方法是使用 ORM 或 Object 關系映射器。 請參閱此 Stack Overflow線程以獲得很好的解釋。

如果您使用的是 Flask, SQLAlchemy是最受歡迎的選擇,以至於 Flask 實際上有一個名為Flask-SQLAlchemy的擴展。 請記住,您仍然會將類映射到數據庫實體。 然而,SQLAlchemy 的強大之處在於它在數據庫之上提供了更高級別的抽象,它可以 go 不僅僅是將 class 映射到表行。 根據文檔:

SQLAlchemy 將數據庫視為關系代數引擎,而不僅僅是表的集合。 行不僅可以從表中選擇,還可以從連接和其他 select 語句中選擇; 這些單元中的任何一個都可以組成一個更大的結構。 SQLAlchemy 的表達式語言從其核心建立在這個概念之上。

此 Stack Overflow 線程提供了更多 Python ORM 建議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM