1. 程式人生 > >SQLAlchemy 和其他的 ORM 框架

SQLAlchemy 和其他的 ORM 框架

原文出處: Xiaonuo   譯文出處:開源中國

Python ORM 概覽

作為一個美妙的語言,Python 除了 SQLAlchemy 外還有很多ORM庫。在這篇文章裡,我們將來看看幾個流行的可選 ORM 庫,以此更好地窺探到Python ORM 境況。通過寫一段指令碼來讀寫2個表 ,person 和 address 到一個簡單的資料庫,我們能更好地理解每個ORM庫的優缺點。

SQLObject

SQLObject 是一個介於SQL資料庫和Python之間對映物件的Python ORM。得益於其類似於Ruby on Rails的ActiveRecord模式,在程式設計社群變得越來越流行。首個 SQLObject在2002年十月釋出。它遵循LGPL許可。

在 SQLObject 中,資料庫概念是通過與 SLQAlchemy 非常類似的的一種方式對映到Python的,表對映成類,行作為例項而欄位作為屬性。它同時提供一種基於Python物件的查詢語言,這使得 SQL 更加抽象, 從而為應用提供了資料庫不可知性(譯註:應用和資料庫分離)。

Python
1234567891011121314151617181920212223$pip install sqlobjectDownloading/unpacking sqlobjectDownloading SQLObject-1.5.1.tar.gz(276kB):276kBdownloadedRunning setup
.py egg_info forpackage sqlobjectwarning:no files found matching'*.html'warning:no files found matching'*.css'warning:no files found matching'docs/*.html'warning:no files found matching'*.py'under directory'tests'Requirement already satisfied(use--upgrade to upgrade):FormEncode>=1.1.1in/Users/xiaonuogantan
/python2-workspace/lib/python2.7/site-packages(fromsqlobject)Installing collected packages:sqlobjectRunning setup.py install forsqlobjectchanging mode of build/scripts-2.7/sqlobject-admin from644to755changing mode of build/scripts-2.7/sqlobject-convertOldURI from644to755warning:no files found matching'*.html'warning:no files found matching'*.css'warning:no files found matching'docs/*.html'warning:no files found matching'*.py'under directory'tests'changing mode of/Users/xiaonuogantan/python2-workspace/bin/sqlobject-admin to755changing mode of/Users/xiaonuogantan/python2-workspace/bin/sqlobject-convertOldURI to755Successfully installed sqlobjectCleaning up...
Python
12345678910111213>>>fromsqlobject importStringCol,SQLObject,ForeignKey,sqlhub,connectionForURI>>>sqlhub.processConnection=connectionForURI('sqlite:/:memory:')>>>>>>classPerson(SQLObject):...name=StringCol()...>>>classAddress(SQLObject):...address=StringCol()...person=ForeignKey('Person')...>>>Person.createTable()[]>>>Address.createTable()

上面的程式碼建立了2個簡單的表:person 和 address 。為了建立和插入記錄到這2個表,我們簡單例項化一個person 例項和 一個 address 例項:

Python
1234

相關推薦

SQLAlchemy 其他ORM 框架

原文出處: Xiaonuo   譯文出處:開源中國Python ORM 概覽作為一個美妙的語言,Python 除了 SQLAlchemy 外還有很多ORM庫。在這篇文章裡,我們將來看看幾個流行的可選 ORM 庫,以此更好地窺探到Python ORM 境況。通過寫一段指令碼來讀

python對Mysql操作使用ORM框架SQLAlchemy

普通多次查詢 user_id_list = session.query(HostToHostUser.host_user_id).join(Host).filter(Host.hostname=='c2').all() user_id_list = zip(*user_id_list) us

python——type()、metaclass元類精簡ORM框架

定制 定義 attribute varchar elm cep 實例 編寫代碼 __main__ 1、type()函數 #type()函數既可以返回一個對象的類型,又可以創建出新的類型, # 比如,我們可以通過type()函數創建出Hello類,而無需通過cl

jQuery 其他 JavaScript 框架

不同的 不同 javascrip rip RKE marked knockout 其中 方法 正如您已經了解到的,jQuery 使用 $ 符號作為 jQuery 的簡寫。 如果其他 JavaScript 框架也使用 $ 符號作為簡寫怎麽辦? 其他一些 JavaScrip

redis框架詳解其他nosql框架

(1)什麼是redis? Redis 是一個基於記憶體的高效能key-value資料庫。 (有空再補充,有理解錯誤或不足歡迎指正) (2)Reids的特點 redis本質上是一個Key-Value型別的記憶體資料庫,很像memcached,整個資料庫統統載入

框架其他標簽

cti 標題 ima dir ron lin png src 頁面 其他標簽: 滾動標簽:<marquee></marquee> 屬性:direction 滾動方向 做分割線:<hr /> 標記文字:<mark>

SQLAlchemy (1) -- Python的SQLAlchemyORM

utf 之間 can env pre highlight als lis mys Python的SQLAlchemy和ORM(object-relational mapping:對象關系映射) web編程中有一項常規任務就是創建一個有效的後臺數據庫。以前,程序員是通過寫sq

ORM框架SQLAlchemy與權限管理系統的數據庫設計

make nec elif target ora 第三方 增刪改 ont 好的 SQLAlchemy是Python編程語言下的一款ORM框架,該框架建立在數據庫API之上,使用對象關系映射進行數據庫操作,即:將對象轉換成SQL,然後使用數據API執行SQL並獲取執行結果。

ORM框架SQLAlchemy學習(未整理完)

性能 select create external 其他 class 學習 -m -- 一、基本介紹   以下介紹來自維基百科,自由的百科全書。   SQLAlchemy是Python編程語言下的一款開源軟件。提供了SQL工具包及對象關系映射(ORM)工具,使用MIT許

mysql八:ORM框架SQLAlchemy

mysql ORM框架SQLAlche一、介紹SQLAlchemy是Python編程語言下的一款ORM框架,該框架建立在數據庫API之上,使用關系對象映射進行數據庫操作,簡言之便是:將對象轉換成SQL,然後使用數據API執行SQL並獲取執行結果。1、安裝 pip3 install sqlalchemy

python 前端、框架其他(155題)

lec ansible linu dbutils key 日誌記錄 依賴 定制 pytho 1 談談你對http協議的認識。2 談談你對websocket協議的認識。3 什麽是magic string?4 如何創建響應式布局?5 你曾經使用過哪些前端框架?6 什麽是ajax

python(十二)下:ORM框架SQLAlchemy使用學習

func column bar 插入數據 ref min 統計 就是 連接 此出處:http://blog.csdn.net/fgf00/article/details/52949973 本節內容 ORM介紹 sqlalchemy安裝 sqlalchemy

6、第八周 - 網絡編程進階 - Python語言下的SqlAlchemy ORM框架應用

() bind chan base pymysql commit 提交 輸出 echo Mysql SqlAlchemy 基本步驟 1、SqlAlchemy 基本結構語法如下: 案例: from sqlalchemy import create_engine,Colu

MySQL—ORM框架sqlalchemy模塊

alex href 條件 upd 初識 有道 pytho imp list 武老師博客:ORM框架介紹 import os #1.當一類函數公用同樣參數時候,可以轉變成類運行 - 分類 #2.面向對象: 數據和邏輯組合在一起了 #3. 一類事物共同用有

python ORM 框架 sqlalchemy

sqlalchemy 是一款Python語言寫的ORM框架, 該框架建立在資料庫API基礎之上。   sqlalchemy 本身無法操作資料庫,必須已第三方外掛為基礎,Dialect用於和資料API進行交流,根據不通的的配置呼叫不通的資料庫API,從而實現對資料庫的操作。

DEVOPS02-pymysql模組應用 sqlalchemyORM sqlalchemy操作資料庫

一、PyMySQL模組 1.1 PyMySQL安裝 1.1.1 使用pypi •  pypi即python package index •  是python語言的軟體倉庫 •  官方站點為https://pypi.python.org 1

MySQL—ORM框架sqlalchemy模組

武老師部落格:ORM框架介紹   import os #1.當一類函式公用同樣引數時候,可以轉變成類執行 - 分類 #2.面向物件: 資料和邏輯組合在一起了 #3. 一類事物共同用有的屬性和行為(方法) #因此 表其實可以寫成一個類 #雙下方法item 和

ORM框架 面向物件程式設計

ORM框架: 1.SQLAlchemy:  - 作用   1.提供簡單的規則   2.自動轉換成SQL語句  - DB first/code first   DB fir

輕量級ORM框架——第二篇:Dapper中的一些複雜操作inner join應該注意的坑

 上一篇博文中我們快速的介紹了dapper的一些基本CURD操作,也是我們manipulate db不可或缺的最小單元,這一篇我們介紹下相對複雜 一點的操作,原始碼分析暫時就不在這裡介紹了。   一:table sql     為了方便,這裡我們生成兩個表,一個

pyhton ORM框架SQLAlchemy基礎與建表

轉換成 .com 註意 mys mysql 規則 定義 django 都是 1、ORM框架:SQLALchemy   - 作用:     1.提供簡單的規則     2.自動轉換成SQL語句   - ORM框架的分類:從代碼和數據庫兩個角度來看的        1、DB f