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

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

习惯了 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 的情况下 开发时第一个想到的还是先去实现数据库接口 接着去实现模型类 再去抽象模型

7 楼 已删除
对 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 都可以不用,直接改数据字段也可以,这就更方便了

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