【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相关推荐
- Python使用SQLAlchemy连接数据库并创建数据表、插入数据、删除数据、更新表、查询表(CRUD)
Python使用SQLAlchemy连接数据库并创建数据表.插入数据.删除数据.更新表.查询表(CRUD) 目录 Python使用SQLAlchemy连接数据库并创建数据表 #SQLAlchemy # ...
- python sqlalchemy中文手册-基于Python的SQLAlchemy的操作
安装 在Python使用SQLAlchemy的首要前提是安装相应的模块,当然作为python的优势,可以到python安装目录下的scripts下,同时按住shift+加上鼠标左键,从而在菜单中打开命 ...
- python mysql ssl,python – 在SQLAlchemy中使用SSL
我最近改变了我的项目使用SQLAlchemy并且我的项目运行正常,它使用了外部MySQL服务器. 现在我正在尝试使用具有SSL CA的不同MySQL服务器,并且它不会连接. (它确实使用MySQL W ...
- 【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\ ...
- Python Module — SQLAlchemy ORM
目录 文章目录 目录 SQLAlchemy 数据库连接 MySQL SQLite Models Session CRUD Relationship One To Many / Many To One ...
- python之SQLAlchemy ORM
前言: 这篇博客主要介绍下SQLAlchemy及基本操作,写完后有空做个堡垒机小项目.有兴趣可看下python之数据库(mysql)操作.下篇博客整理写篇关于Web框架和django基础~~ 一.OR ...
- python ORM - sqlalchemy 操作使用
python操作数据库 使用 ORM - sqlalchemy,pymsql 安装: pip install pymsq pip install sqlalchemy 一. '''连接数据库''' ' ...
- Python之SQLAlchemy学习
alchemy 英[ˈælkəmi] 美[ˈælkəmi] n. 炼金术; 炼丹术; (改变事物.物质的)魔力(或方法) ; (事物.物质的) 神秘变化; SQLAlchemy是Python中最有名的 ...
- alchemy php,Python下SQLAlchemy的简单介绍
本篇文章给大家带来的内容是关于php协成实现的详解(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. SQLAlchemy是Python编程语言下的一款开源软件.提供了SQL工 ...
最新文章
- python selenium 爬取js加载的内容为空,Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容...
- DNS服务器全面解析--转
- ScriptManager同时存在于两个dll中的问题
- 《Effective Java》 第二讲:对于所有对象都通用的方法
- php choosewxpay fail,人人商城常见问题解决方案
- sql 去掉重复的数据
- 图论入门及基础概念(图篇)
- 截图快捷键ctrl加什么
- 帧率FPS,屏幕刷新频率赫兹Hz
- TCP粘包的分析和处理
- js模仿QQ头像资料卡显示与隐藏
- 2020年下半年湖北软考报名通知
- 计算机的防呆接口,PC接口全释:防呆口很重要,小心硬插烧硬件!
- krpano plugin interface
- unity 动态图集
- 微信公众号采集 php,如何采集微信公众号历史消息页
- 竞斗云2.0刷机-编程器刷入opboot
- 网易员工哀叹:来公司一年,被裁员搞得没心情上班,想考公务员
- 字符串 substring()和 substr()之间的区别
- Android通讯录模糊匹配搜索实现(号码、首字母、简拼、全拼)