当用 django.orm 时,怀念 sqlalchemy - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
thinker3
V2EX    Python

当用 django.orm 时,怀念 sqlalchemy

  •  
  •   thinker3 2016-03-20 20:12:31 +08:00 5894 次点击
    这是一个创建于 3576 天前的主题,其中的信息可能已经有所发展或是发生改变。
    写过一点 flask ,用过 sqlalchemy ,发现用这个aldjemy可以在 django 中使用 sqlalchemy

    https://engineering.betterworks.com/2015/09/03/sqlalchemy-and-django/
    16 条回复    2016-04-21 18:36:20 +08:00
    clino
        1
    clino  
       2016-03-20 20:21:52 +08:00 via Android
    django orm 不好在哪里?
    tanywei
        2
    tanywei  
       2016-03-20 20:38:11 +08:00
    哈哈 ,没啥大区别吧?
    geeklian
        3
    geeklian  
       2016-03-20 21:22:01 +08:00
    django orm 1.9 开始内置了对 postgre 的 jsonfield 支持,感觉 sqlalchemy 没啥特别吸引人的地方了。
    timonwong
        4
    timonwong  
       2016-03-20 21:53:19 +08:00
    django 也没有那么差啦,除了 field__operation 还有要不要用 raw sql 这些神烦
    neoblackcap
        5
    neoblackcap  
       2016-03-21 00:03:50 +08:00
    @geeklian SQLAlchemy 有多态, Django Orm 没有。
    Django ORM 能做的 SQLAlchemy 都能做,问题就是 SQLAlchemy 功能太强大,又不是 Active Record 而是 Data Mapper 。学习曲线我个人感觉是非常陡峭的。
    gkiwi
        6
    gkiwi  
       2016-03-21 00:26:09 +08:00
    刚用 django.orm 时候确实不习惯,觉得还是 sqlalchemy 大法好,因为刚开始发现 django.orm 有些事情不好做,不过后来写 django.orm 习惯了,就觉得没啥了。
    真正想吐槽的是 django template 天呐!早知道就换了 jinja2 了!!!
    dcoder
        7
    dcoder  
       2016-03-21 00:34:39 +08:00
    @gkiwi
    Django template 主要槽点是啥
    另外, Django 可以上 Jinja2 啊: https://docs.djangoproject.com/en/1.9/topics/templates/
    alexapollo
        8
    alexapollo  
       2016-03-21 00:37:10 +08:00
    真觉得 sqlalchemy 用起来不舒服,相比 django orm 来说
    zonghua
        9
    zonghua  
       2016-03-21 01:02:40 +08:00 via iPhone
    Django Admin 简直要上天啊
    gkiwi
        10
    gkiwi  
       2016-03-21 03:06:06 +08:00   1
    dcoder django template 在于自建语法。它为了不在 template 引入 python 代码(这个我无比支持),『洁身自好』太过了,以至于连最基本的加减乘除, dict key 取值,切片 这些最 python 的东西都需要 buildin templatetags 和自建 tags 来支持,累到不行

    jinja2 能是能上,但是在用 django template 之前我没想到有那么恶心,已经走上这条路了。
    dcoder
        11
    dcoder  
       2016-03-21 04:11:15 +08:00
    @gkiwi
    哈哈,回头是岸啊
    Jinja2 很多地方通用的,挺好的. 成本不高的话,可以转去 Jinja2.
    tennix
        12
    tennix  
       2016-03-21 09:58:09 +08:00
    没记错的话 SQLAlchemy 和 jinja 都是受 Django 启发做的。 Django 的 ORM 和 Template 很好用,但是只能在 Django 里面使用,于是就有人把 ORM 和 Template 抠出来做成了 SQLAlchemy 和 Jinja ,所以通用性和专业性上肯定比集成在 Django 里面的 ORM 和 Template 好用
    wingyiu
        13
    wingyiu  
       2016-03-21 10:19:28 +08:00
    @tennix jinja 是 SA 不是
    gkiwi
        14
    gkiwi  
       2016-03-21 11:32:41 +08:00
    @dcoder 之前我以为只能单 template engine (在 1.8 之前确实只能如此),问题就很直接,就是第三方库怎么。后来发现支持多 engine loader 就不是问题了,已经在路上,写了太多了,不动了暂时~~
    neoblackcap
        15
    neoblackcap  
       2016-03-21 15:36:05 +08:00
    @tennix SQLAlchemy 作者写了多年的 Java 跟 SQL ,如果讲道理的话,应该是参考 Hibernate 。
    shooter
        16
    shooter  
       2016-04-21 18:36:20 +08:00
    有些方法反直觉 处理 Exception 的时候 特别多
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3754 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 05:11 PVG 13:11 LAX 21:11 JFK 00:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86