django
- 不支持 join group by 关键字 要用 filter 和 values 隐式做到
- 要用 annotate 才能 取别名,否则还要 extra 写字符串
- 某些函数不支持,比如 date_format
- extra 比较灵活,但又不支持 join 😯
sqlalchemy
- 在 flask 中 使用,会有上下文问题
- to_dict 还要自己写 ,create 方法没有,必须写 add,commit
- 写完 sqlalchemy 语句,跟写 sql 感觉没啥区别,
django
sqlalchemy
1
johnsona Nov 25, 2021 via iPhone
嗝
|
2
Trim21 Nov 25, 2021 via Android
peewee ?
|
3
johnsona Nov 25, 2021 via iPhone
那就自己写 sql 自己关连接 自己处理 sql 注入 也没什么
|
4
joApioVVx4M4X6Rf Nov 25, 2021
借楼同问
|
5
sola97 Nov 25, 2021 via Android Python 的 orm 总感觉没有 java 爽
|
6
makelove Nov 25, 2021
不满意自己造轮子呢,我是用自己写的 ORM
我不喜欢 django 这种封装过头的做法 |
7
Kobayashi Nov 25, 2021 via Android
@Trim21 peewee 就算了吧,没有数据库迁移支持。另外作者没有支持异步打断,还劝别人使用 eventlet ,这都什么年代了。
|
8
Aksura Nov 25, 2021
sqlalchemy 是有 core 和 orm 两部分的,用 core 写 SQL 也是可以的。
|
9
gjquoiai Nov 26, 2021 天下第一 sqlalchemy 吹来了!
1. 不知道你说的上下文问题是什么问题,不过 flask-sqlalchemy 这个库会搞的不伦不类的,我更习惯裸用( 2. Row 有_asdict() 方法,不过序列化和模型最好还是分开; data mapping 模式的 ORM 就是这么个逻辑,有一些库(或者手写也不麻烦)可以提供 active record 的调用方法 3. flavor 问题,无法置评 |
10
zachlhb Nov 26, 2021 via iPhone
Django orm 有扩展可以增加 group by 功能的
|
11
zachlhb Nov 26, 2021 via iPhone
而且 Django orm 里是有 group by 操作的,只是和其他 orm 思路不同罢了,一般 orm 是在查询时就定义 group_by ,而 django orm 是先查询到 queryset 列表,然后在 queryset.query.group_by 参数再来定义分组字段
|
13
book1925 Nov 26, 2021
好巧昨天我就在研究这个,不过 python 好像找了一圈没找到 mybatis 这种好用的,也准备勉强试试 sqlalchemy 。。
|
14
hutoer Nov 27, 2021
还有 2 个也可以看下:
|
15
hutoer Nov 27, 2021
ponyorm 、orator
|
16
joApioVVx4M4X6Rf Nov 27, 2021
@gjquoiai 学会了,老哥你有教程吗,想学一下你平时的牛逼用法(崇拜
|
17
cz5424 Nov 27, 2021 via iPhone
无论什么语言都有上下文问题吧,因为都必须先连接数据库
|
18
raynix Nov 30, 2021
碰巧我也在比较这两个 ORM ,感觉 Django 容易一些,功能暂时够用
|
19
yanqd Dec 15, 2021
可以关注一下 SQLModel: https://sqlmodel.tiangolo.com/
|