我是靠谱客的博主 机智荔枝,最近开发中收集的这篇文章主要介绍【Python】吐槽SQLAlchemy,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

以前常在网上看到大家黑正则表达式:

如果有一个问题,你想到可以用正则表达式来解决,那么现在你有两个问题了。

刚开始我是不信的,直到我遇见了sqlalchemy. 这个鬼故事我看可以升级成2.0版了.

如果有一个问题,你想到可以用ORM来解决,那么现在你有两个问题了。

和直接使用connect,cursor畅快操作数据库的方式比起来,sqlalchemy需要更长时间的前戏.没有一点点防备,成吨的declarative_base , sessionmaker ,create_engine 鬼东西砸在了小透明的脸上.

这些都是啥?有没有必要搞这么多东西出来,开发sqlalchemy的时候程序员拿的是计件工资吧,创造的函数数量肯定与他们的工资挂钩. 像create_enginesessionmaker我认了,这是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的全部内容,希望文章能够帮你解决【Python】吐槽SQLAlchemy所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部