Django在本月10日发布了Django 3.0 alpha版本,标志着Django 3.X时代的来临。作为Django的忠粉们,你们准备好了吗? 尽管Django 3.0的最终正式版还没有发布,我们一起来抢先看看新版本里会有哪些激动人心的变化吧?
Python兼容性
Django 3.0 将支持 Python 3.6、3.7 与 3.8。Django 2.2.x 会是最后一个支持 Python 3.5 版本的系列。对于第三方Django应用,官方建议应用开发作者放弃对 Django 2.2 之前版本的支持。
数据库的支持
Django 3.0将放弃对PostgreSQL 9.4和Oracle 12.1 的支持。不过Django 3.0将支持使用MariaDB 10.1或更高版本的数据库。开发者将多了一种数据库的选择。
新增对ASGI的支持,Django的异步时代来了
Django 3.0 开始将新增对 ASGI的支持,让 Django 逐渐支持异步功能。这是Django对现有WSGI 模式支持的补充。Django打算在可预见的将来同时支持ASGI和WSGI这两种工作模式,但是异步功能仅对在 ASGI 下运行的应用程序可用。除非你要开始试用异步代码,否则无需切换应用程序。
新增PostgreSQL的排除约束
新的ExclusionConstraint 类可以在 PostgreSQL 上添加排除约束;约束可以通过Meta.constraints 选项添加。
BooleanField的过滤表达
Django 3.0版本中输出的带BooleanField 的表达式现在可以直接在 QuerySet 过滤器中使用,而无需先注解然后对注解进行过滤。
新增TextChoices和IntegerChoices类
新增枚举类型 TextChoices和IntegerChoices 类。Django 3.0中你不仅可以通过元组自定义Choices选项,还可以使用类的继承自定义选项。比如下例通过类的继承自定义了Vehicle的选项。
>>> class Vehicle(models.TextChoices):
... CAR = 'C'
... TRUCK = 'T'
其它小变化
新增 get_user_permissions()方法,模仿现有的 get_group_permissions() 方法
Required fields将支持多对多字段。
Cookie和session部分新增 get_session_cookie_age()方法
Formsets将支持排序,通过can_order属性设定。
正式版发布时间?
Django 3.0正式版将于2019年12月发布。同时官方还给出了Django 3.1版预计发布时间: Oct 2020。
参考原文
https://docs.djangoproject.com/en/dev/releases/3.0/
小编的话
Django更新的稍微有点勤,都快跟不上节奏了。刚用Django的时候还是1.0.X版的,眨眼间Django 3.0都要来了。不过话又说回来,这说明开发者一直努力维护着Django,让其变得更好。这难道不是好事一件吗? 喜欢Django的同志们别忘了加关注或收藏哦。
最后提前祝大家国庆快乐!!
大江狗
2019.9.29
————————————————
版权声明:本文为CSDN博主「大江狗」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42134789/article/details/101731394
|
|
|
|
|