100 行代碼還你一個 Python ORM
工作中難免有遇到 MySQL 歐巴的時候,奈何我是個記性不大好的人,臨筆忘詞,只能祭出谷歌大法,于是想著造個小破輪子,優雅地解決 Python 連接 MySQL 的問題。
這個輪子一定不要像 sqlalchemy 那么復雜,也不需要像 Django 的 ORM 那么豐富,就像一碗白米飯,管你吃飽,還為你解決三大問題:
- 輕松連接 MySQL
- 數據結構到模型的映射
- 滿足增改查的基本功能,避免手寫SQL
創建連接
from data_handler import Database db_config = { 'host': 'localhost', 'port': 3306, 'user': 'root', 'password': '123456', 'database': 'test' } Database.connect(**db_config)
定義模型
from data_handler import Model, Field class TestModel(Model): db_table = 'test' a = Field() b = Field()
插入
test = TestModel() test.a = 5 test.b = 'john' test.save()
查詢
for r in TestModel.where(a=5, b='john').select(): print r.a print r.b
計數
print TestModel.where(a=5, b='john').count()
更新
TestModel.where(a=5, b='john').update(a=1)
復雜查詢請使用raw sql
from data_handler import execute_raw_sql results = execute_raw_sql('select b, count(*) from test where b = %s group by b;', (1,)) for val, cnt in results: print val, cnt
代碼放GitHub了 --> QuickORM
來自:建造者說
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!