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 ·
    thinker3 · 2016-03-20 20:12:31 +08:00 · 5159 次点击
    这是一个创建于 2951 天前的主题,其中的信息可能已经有所发展或是发生改变。
    写过一点 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   ·   我们的愿景   ·   实用小工具   ·   952 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:03 · PVG 06:03 · LAX 15:03 · JFK 18:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.