亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

100 行代碼還你一個(gè) Python ORM

Hujiawei / 1867人閱讀

摘要:工作中難免有遇到歐巴的時(shí)候,奈何我是個(gè)記性不大好的人,臨筆忘詞,只能祭出谷歌大法,于是想著造個(gè)小破輪子,優(yōu)雅地解決連接的問(wèn)題。

工作中難免有遇到 MySQL 歐巴的時(shí)候,奈何我是個(gè)記性不大好的人,臨筆忘詞,只能祭出谷歌大法,于是想著造個(gè)小破輪子,優(yōu)雅地解決 Python 連接 MySQL 的問(wèn)題。

這個(gè)輪子一定不要像 sqlalchemy 那么復(fù)雜,也不需要像 Django 的 ORM 那么豐富,就像一碗白米飯,管你吃飽,還為你解決三大問(wèn)題:

輕松連接 MySQL

數(shù)據(jù)結(jié)構(gòu)到模型的映射

滿足增改查的基本功能,避免手寫SQL

創(chuàng)建連接
pythonfrom data_handler import Database

db_config = {
    "host": "localhost",
    "port": 3306,
    "user": "root",
    "password": "123456",
    "database": "test"
}
Database.connect(**db_config)
定義模型
pythonfrom data_handler import Model, Field

class TestModel(Model):
  db_table = "test"
  a = Field()
  b = Field()
插入
pythontest = TestModel()
test.a = 5
test.b = "john"
test.save()
查詢
pythonfor r in TestModel.where(a=5, b="john").select():
  print r.a
  print r.b
計(jì)數(shù)
pythonprint TestModel.where(a=5, b="john").count()
更新
pythonTestModel.where(a=5, b="john").update(a=1)
復(fù)雜查詢請(qǐng)使用raw sql
pythonfrom 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

  

來(lái)自:建造者說(shuō)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/37479.html

相關(guān)文章

  • Django Model View Template 之間的簡(jiǎn)單交互 (二)

    摘要:當(dāng)然還有其他高級(jí)的使用,日后再說(shuō)完整的用戶名郵箱聯(lián)系地址留言信息用戶留言信息使用之前已經(jīng)定義好了數(shù)據(jù)模型的字段元數(shù)據(jù)方法等。 前言 接續(xù)前文,上一篇文章主要涉及了 Django 項(xiàng)目的基礎(chǔ)配置等,這篇主要涉及數(shù)據(jù)庫(kù)相關(guān)的 ORM ,也就是 Django 中的 Model 的使用,MVT 三層之間的交互 教程基本都是東拼西湊的,防止有些東西表述不準(zhǔn)確,因?yàn)槲抑皩?JavaScript ...

    Coding01 評(píng)論0 收藏0
  • Python_Django

    摘要:為了將代碼規(guī)范,約定俗成將視圖放置在項(xiàng)目或應(yīng)用程序目錄中命名為文件中。必須接受字段表示字符串長(zhǎng)度不能超過(guò)該值,默認(rèn)的標(biāo)簽最常用的。例,自動(dòng)添加發(fā)布時(shí)間。以字符串的形式存在,默認(rèn)最大長(zhǎng)度,可以通過(guò)參數(shù)設(shè)置。用于保存通用唯一識(shí)別碼的字段。 MVC 大部分開(kāi)發(fā)語(yǔ)言中都有MVC框架 MVC框架的核心思想是:解耦 降低各功能模塊之間的耦合性,方便變更,更容易重構(gòu)代碼,最大程度上實(shí)現(xiàn)代碼的重...

    BearyChat 評(píng)論0 收藏0
  • Python數(shù)據(jù)模型構(gòu)建和遷移方案:SQLAlchemy&Alembic

    摘要:當(dāng)使用到后者這類微型框架時(shí),根據(jù)業(yè)務(wù)場(chǎng)景不同,如果需要處理模型的建立升級(jí)和遷移的問(wèn)題,可以考慮下接下來(lái)要介紹的和。這時(shí)候檢查數(shù)據(jù)庫(kù),可以發(fā)現(xiàn)生成了張表,升級(jí)工作就完成了。而我在使用的實(shí)際項(xiàng)目中是操作的原生,異步類型的配合使用留待以后探究。 背景 Python的世界里有許多web框架:比如大而全的 Django, 提供了模型定義遷移,到路由處理,再到視圖的渲染等整套功能;比如小巧靈活的F...

    李增田 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<