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

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

刚开始我是不信的,直到我遇见了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相关推荐

  1. Python使用SQLAlchemy连接数据库并创建数据表、插入数据、删除数据、更新表、查询表(CRUD)

    Python使用SQLAlchemy连接数据库并创建数据表.插入数据.删除数据.更新表.查询表(CRUD) 目录 Python使用SQLAlchemy连接数据库并创建数据表 #SQLAlchemy # ...

  2. python sqlalchemy中文手册-基于Python的SQLAlchemy的操作

    安装 在Python使用SQLAlchemy的首要前提是安装相应的模块,当然作为python的优势,可以到python安装目录下的scripts下,同时按住shift+加上鼠标左键,从而在菜单中打开命 ...

  3. python mysql ssl,python – 在SQLAlchemy中使用SSL

    我最近改变了我的项目使用SQLAlchemy并且我的项目运行正常,它使用了外部MySQL服务器. 现在我正在尝试使用具有SSL CA的不同MySQL服务器,并且它不会连接. (它确实使用MySQL W ...

  4. 【python解决SQLAlchemy+MySQL插入数据时报警告Warning: (1366, “Incorrect string value: ‘\\xD6\\xD0\\xB9\\xFA\\xB】

    python解决SQLAlchemy+MySQL插入数据时报警告Warning: (1366, "Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\ ...

  5. Python Module — SQLAlchemy ORM

    目录 文章目录 目录 SQLAlchemy 数据库连接 MySQL SQLite Models Session CRUD Relationship One To Many / Many To One ...

  6. python之SQLAlchemy ORM

    前言: 这篇博客主要介绍下SQLAlchemy及基本操作,写完后有空做个堡垒机小项目.有兴趣可看下python之数据库(mysql)操作.下篇博客整理写篇关于Web框架和django基础~~ 一.OR ...

  7. python ORM - sqlalchemy 操作使用

    python操作数据库 使用 ORM - sqlalchemy,pymsql 安装: pip install pymsq pip install sqlalchemy 一. '''连接数据库''' ' ...

  8. Python之SQLAlchemy学习

    alchemy 英[ˈælkəmi] 美[ˈælkəmi] n. 炼金术; 炼丹术; (改变事物.物质的)魔力(或方法) ; (事物.物质的) 神秘变化; SQLAlchemy是Python中最有名的 ...

  9. alchemy php,Python下SQLAlchemy的简单介绍

    本篇文章给大家带来的内容是关于php协成实现的详解(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. SQLAlchemy是Python编程语言下的一款开源软件.提供了SQL工 ...

最新文章

  1. python selenium 爬取js加载的内容为空,Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容...
  2. DNS服务器全面解析--转
  3. ScriptManager同时存在于两个dll中的问题
  4. 《Effective Java》 第二讲:对于所有对象都通用的方法
  5. php choosewxpay fail,人人商城常见问题解决方案
  6. sql 去掉重复的数据
  7. 图论入门及基础概念(图篇)
  8. 截图快捷键ctrl加什么
  9. 帧率FPS,屏幕刷新频率赫兹Hz
  10. TCP粘包的分析和处理
  11. js模仿QQ头像资料卡显示与隐藏
  12. 2020年下半年湖北软考报名通知
  13. 计算机的防呆接口,PC接口全释:防呆口很重要,小心硬插烧硬件!
  14. krpano plugin interface
  15. unity 动态图集
  16. 微信公众号采集 php,如何采集微信公众号历史消息页
  17. 竞斗云2.0刷机-编程器刷入opboot
  18. 网易员工哀叹:来公司一年,被裁员搞得没心情上班,想考公务员
  19. 字符串 substring()和 substr()之间的区别
  20. Android通讯录模糊匹配搜索实现(号码、首字母、简拼、全拼)

热门文章

  1. TensorFlow2-循环神经网络
  2. 时序数据处理工具-时间序列数据特征提取TsFresh
  3. 详细解析WSAEventSelect模型
  4. 恢复SQLSERVER被误删除的数据
  5. python 实现HMAC_SHA1算法
  6. 如何正确、高效地阅读源代码?
  7. RabbitMQ消息追踪之Firehose
  8. 设计模式:组合模式(Composite)
  9. Dav1d移动端解码高清视频达30FPS
  10. 舞台现场直播技术实践