日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python】吐槽SQLAlchemy

發布時間:2024/2/28 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python】吐槽SQLAlchemy 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以前常在網上看到大家黑正則表達式:

如果有一個問題,你想到可以用正則表達式來解決,那么現在你有兩個問題了。

剛開始我是不信的,直到我遇見了sqlalchemy. 這個鬼故事我看可以升級成2.0版了.

如果有一個問題,你想到可以用ORM來解決,那么現在你有兩個問題了。

和直接使用connect,cursor暢快操作數據庫的方式比起來,sqlalchemy需要更長時間的前戲.沒有一點點防備,成噸的declarative_base , sessionmaker ,create_engine 鬼東西砸在了小透明的臉上.

這些都是啥?有沒有必要搞這么多東西出來,開發sqlalchemy的時候程序員拿的是計件工資吧,創造的函數數量肯定與他們的工資掛鉤. 像create_engine和sessionmaker我認了,這是orm們的標配,搞成這個樣子也是迫不得已. 我真心感覺它倆可以攢成一個,主打SessionMaker,engine作為SessionMaker的一個參數傳入.

這declarative_base就更坑爹了. 動用declarative長達11位的單詞,只為了臨時現做一個Base給其他的Model當基類.

from sqlalchemy.ext.declarative import declarative_base #臥槽,這個導入這么長 ,鬼才記得住. Base=declarative_base() #臥槽臥槽,現做Base你說浪不浪. class Foo(Base):pass

這里該再拿出點誠意來.提前把Base放到sqlalchemy包的__init__.py里去初始化. 大家用Base的時候直接import進來.

__init__.py #藏在這里,我們不看它 Base=declarative_base() from sqlalchemy import BASE #這樣多么的清爽 class Foo(BASE):pass

誰要用定制BASE的時候,再去弄declarative_base()進來.

我理想中的sqlalchemy里只需要import進來一個SessionMaker,一個Base就可以工作了. SessionMaker一看就知道是做session的,做出來的session就當cursor那么用. Base標配不用設置,就是給模型當基類的.

另外,sqlalchemy的Tutorial寫得也實在夠嗆 跟著教程做到定義Model那里,看見教程里忽然修改了一下字段的長度.我也學著修改了一下字段的長度,然后我就翻了車. Tutorial:怪我咯? 在這里提醒一下大家:sqlalchemy tutorial里背景為綠色的代碼不要跟著抄.不要問我是怎么知道的.

總結

以上是生活随笔為你收集整理的【Python】吐槽SQLAlchemy的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。