瞎扯淡 ORM 是一个用了会上瘾的东西

Chorder · 2018年07月31日 · 最后由 tangmonk 回复于 2018年09月25日 · 3150 次阅读

习惯了 ORM 以后,现在要用 Python 开发一个小玩意,上来就希望能有个像 ActiveRecord 那样顺手的东西。 这算是一种不好的依赖吗😑

算。。。。现在没 ORM 都不会用数据库了。。。

请练习手写下 100 行的 SQL, orm 也只是去生成 sql, 去和数据库交互。如果你离开了 Rails,可能完全都不会数据库

ActiveRecord 比起 django 的 orm 弱爆了

@Chorder Python 下也有不少非常优秀的 ORM,比如说 SQLAlchemy, peewee, 等等

pzgz 回复

是的 所以选择了 sqlobject 感觉语法上比较简洁 使用习惯也比较接近 ActiveRecord

gaicitadie 回复

Django 的 ORM 没感觉有多好用啊 模型上面要介入的地方太多了 ActiveRecord 模型和数据库之间的层次划分很清晰 在 Python 领域 Django 自带的 ORM 是好用,但又只能在 Django 里面用,所以离了 Django 还是得纠结

ForrestDouble 回复

😄 工作使然 有时候还需要去数据库里面折腾两下子 以至于还不会忘掉 但是开发上习惯了 Rails 这种优雅的方式 就再也不愿意用原始的方式 所以即时没有 ORM 的情况下 开发时第一个想到的还是先去实现数据库接口 接着去实现模型类 再去抽象模型

8楼 已删除
pzgz 回复

python 下的 orm 都弱爆了

SQLAlchemy 超复杂,写起来很啰嗦。 peewee 这东西又太简单了,我看了一下好像所有源代码都在一个文件里面。

这就看你认为程序员的价值是体现在人肉 SQL 翻译还是思考逻辑上了

ORM 用在简单的场景还是不错的,但复杂的查询我还是喜欢直接用 SQL,当然会过滤用户的输入。

gaicitadie 回复

Django 本身的 ORM 也能用么。。。这么烂的东西,用着还不如裸写 SQL 顺手。

a0nqm 回复

Don't feed the Troll

a0nqm 回复

哪里烂了?你倒是说出个烂法来啊。

django 的 orm 定义出 model 来就自动生成 migrations,修改了字段就能自动同步,ActiveRecord 还得从命令行打好多字才能生成一个 migration,比 ide 自动提示打出来 sql 方便不到哪里去

当然 ActiveRecord 也很好,只是对新手不太友好,新手在还没有记住各种参数的时候,面对黑乎乎的命令行可能会手足无措。

gaicitadie 回复

然而也没人逼你用 Generator 啊。自己复制一份老的 Migration 改改名字改改内容何以用得到黑乎乎?

gaicitadie 回复

这是新手的问题,新手总是要有学习的过程。如果不去学习熟悉 “黑乎乎的命令行”,那新手也许永远都是新手

数据库语法可太反人类了

a886937 回复

SQL 标准还是很牛逼的。。。

a886937 回复

比起正则表达式语法还是很人性的,当年我刚学 asp 编程的时候,不会搞数组多重条件排序,都是把数据导入数据库用 sql 排序然后输出排序后的结果。

gaicitadie 回复

自动生成 migration,连 php 的 symfony 也可以啊,实际上用 activerecord 连 migration 都可以不用,直接改数据字段也可以,这就更方便了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册