心急吃不了热sqlalchemy
Topic source看了几天sqlalchemy的tutorial .看完 building a relationship实在没动力继续下去了. sqlalchemy确实是一个强大的ORM框架,强大到80%的群众最多只会用到它20%的功能.
sqlalchemy Documentation 1.1版 pdf文档将近1600页,我掐头去尾看了不到40页. hibernate 3.6.10 reference pdf版总共不到400页.
那么到底sqlalchemy的文档作者是不是在报复社会呢? 我不禁陷入了深深的沉思中...
建议你可以去看看Flask web开发这本书 这里面用到的sqlalchemy的很多功能只需要导入一个模块就行了 from flasksqlalchemy import SQLAlchemy from flask import Flask app=Flask(_name) db=SQLAlchemy(app) class User(db.Model): pass
db.session.add() db.session.commit() 等等等等等 只需要导入一个模块就行了。。
- 1
- 2
匿名sina网友V
以前常在网上看到大家黑正则表达式:
刚开始我是不信的,直到我遇见了sqlalchemy. 这个鬼故事我看可以升级成2.0版了.
和直接使用
connect,cursor
畅快操作数据库的方式比起来,sqlalchemy需要更长时间的前戏.没有一点点防备,成吨的declarative_base , sessionmaker ,create_engine
鬼东西砸在了小透明的脸上.这些都是啥?有没有必要搞这么多东西出来,开发
sqlalchemy
的时候程序员拿的是计件工资吧,创造的函数数量肯定与他们的工资挂钩. 像create_engine
和sessionmaker
我认了,这是orm们的标配,搞成这个样子也是迫不得已. 我真心感觉它俩可以攒成一个,主打SessionMaker,engine作为SessionMaker的一个参数传入.这
declarative_base
就更坑爹了. 动用declarative
长达11位的单词,只为了临时现做一个Base
给其他的Model当基类.这里该再拿出点诚意来.提前把
Base
放到sqlalchemy
包的__init__.py
里去初始化. 大家用Base的时候直接import进来.谁要用定制BASE的时候,再去弄
declarative_base()
进来.我理想中的sqlalchemy里只需要import进来一个SessionMaker,一个Base就可以工作了. SessionMaker一看就知道是做session的,做出来的session就当cursor那么用. Base标配不用设置,就是给模型当基类的.
另外,sqlalchemy的Tutorial写得也实在够呛 跟着教程做到定义Model那里,看见教程里忽然修改了一下字段的长度.我也学着修改了一下字段的长度,然后我就翻了车. Tutorial:怪我咯? 在这里提醒一下大家:sqlalchemy tutorial里背景为绿色的代码不要跟着抄.不要问我是怎么知道的.