V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
mimzy
V2EX  ›  Django

Django 3.1 发布,支持异步 view 和 middleware

  •  1
     
  •   mimzy ·
    mookrs · Aug 6, 2020 · 6609 views
    This topic created in 2092 days ago, the information mentioned may be changed or developed.

    https://docs.djangoproject.com/en/3.1/releases/3.1/

    没看到有人发,我来发一下好了

    • 新增 view 和 middleware 的异步支持,可以在 view 上用 async def 了。ORM 的异步支持接下来的版本会继续做
    • JSONField 已经支持所有的数据库,用 MySQL 的想要这个特性可以不再需要 Django-MySQL

    Django 毫无疑问是最好的 Python Web 框架,开发团队也是相当孜孜不倦…

    28 replies    2020-08-08 08:05:51 +08:00
    ryan123
        1
    ryan123  
       Aug 6, 2020
    终于支持异步了
    xiaolinjia
        2
    xiaolinjia  
       Aug 6, 2020
    现在 fastapi 也苦于没有异步的 orm 。如果 dj 能做出来的话,那敢情好啊。
    m95r1jQyWNZ0uhqn
        3
    m95r1jQyWNZ0uhqn  
       Aug 6, 2020 via Android
    @xiaolinjia tortoise
    johnsona
        4
    johnsona  
       Aug 6, 2020
    django 牛逼,flask,自己体会
    cxh116
        5
    cxh116  
       Aug 6, 2020
    Django’s ORM, cache layer, and other pieces of code that do long-running network calls do not yet support async access. We expect to add support for them in upcoming releases. Async views are ideal, however, if you are doing a lot of API or HTTP calls inside your view, you can now natively do all those HTTP calls in parallel to considerably speed up your view’s execution.

    https://docs.djangoproject.com/en/3.1/releases/3.1/


    重要的 ORM 不支持,太鸡肋了.继续观望!
    littleb
        6
    littleb  
       Aug 6, 2020
    又被我抓住了!
    littleb
        7
    littleb  
       Aug 6, 2020
    束手就擒吧
    Trim21
        8
    Trim21  
       Aug 6, 2020 via Android   ❤️ 1
    @xiaolinjia 用 sqlalchemy,然后用 encode 写的 databases 来链接数据库
    Trim21
        9
    Trim21  
       Aug 6, 2020 via Android
    @Trim21 然后 migration 什么的就可以用 sqlalchemy 的周边工具了,在 fastapi 里面读写数据库也是异步的
    mimzy
        10
    mimzy  
    OP
       Aug 6, 2020
    @cxh116 #5 ORM 的代码量最大 https://github.com/andrewgodwin/deps/blob/async/draft/0009-async.rst#the-orm 改动起来应该比较需要时间,按之前的愿景应该是在 Django 3.2/4.0 实现 https://arunrocks.com/a-guide-to-asgi-in-django-30-and-its-performance/#django-evolves
    SearchDream
        11
    SearchDream  
       Aug 6, 2020 via iPhone
    JSONField 盼了好久了 :)
    mimzy
        12
    mimzy  
    OP
       Aug 6, 2020
    @Trim21 #8 习惯了 Django ORM,SQLAlchemy 总觉得有种说不出的感觉…搞得我现在的 FastAPI 项目一直在用 databases 写原生 SQL [捂脸]
    wuwukai007
        13
    wuwukai007  
       Aug 6, 2020 via Android
    15 年如一日,稳定发布,就冲这个值得用,用的放心
    111111111111
        14
    111111111111  
       Aug 6, 2020
    @mimzy 那为啥没用起来 tortoise-orm 呢,异步支持 + django orm 风格
    jenlors
        15
    jenlors  
       Aug 6, 2020
    jenlors
        16
    jenlors  
       Aug 6, 2020
    这 markdown,尴尬。。。
    mimzy
        17
    mimzy  
    OP
       Aug 6, 2020 via Android
    @111111111111 主要是没时间研究,比较信赖 encode 的产品就用 databases 了,回头试试 tortoise-orm
    heyjei
        18
    heyjei  
       Aug 6, 2020
    和 laravel 比,大家会选哪个?

    一直用的都是 laravel,想尝试一下 django
    tabris17
        19
    tabris17  
       Aug 6, 2020
    DAL 没有异步,这种异步有啥用?
    mimzy
        20
    mimzy  
    OP
       Aug 6, 2020
    @tabris17 #19 毕竟有比没有强啊…#5 贴的 release notes 也说了,view 里如果有网络请求就可以充分利用异步特性了。不爽同步的 ORM 其实也可以替换成第三方的,当然都用 Django 了不用它的 ORM 这个太得不偿失了…
    chengxiao
        21
    chengxiao  
       Aug 6, 2020
    改写 Golang 一年了,我快想死 Django 的 ORM 了
    wellsc
        22
    wellsc  
       Aug 6, 2020
    @chengxiao 我还有点怀念 Python 的语法
    waytwoex
        23
    waytwoex  
       Aug 6, 2020
    orm 没异步,还是差点意思。
    相比起来,JSONField 全版本支持真的更吸引人。
    love
        24
    love  
       Aug 6, 2020 via Android
    @tabris17 dal 为啥要异步?有啥常用场景
    feiniu
        25
    feiniu  
       Aug 6, 2020 via iPhone
    一直用的 databases,感谢大伙让我知道了 tortoise
    dcalsky
        26
    dcalsky  
       Aug 7, 2020 via Android
    已升级。
    xinhaiw
        27
    xinhaiw  
       Aug 7, 2020 via iPhone
    .Net core 你慢慢抄
    37Y37
        28
    37Y37  
       Aug 8, 2020   ❤️ 1
    正好用到 JSONField,翻译了下官网顺便解决了出现的问题,写了个文章给有需要的朋友参考:
    https://blog.ops-coffee.cn/s/uKPmc39C2Ysi_8J9ADUoUg
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1624 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 87ms · UTC 16:32 · PVG 00:32 · LAX 09:32 · JFK 12:32
    ♥ Do have faith in what you're doing.