谷歌翻译的,我修正并且添加了一些内容.凑合看吧.

MariaDB的支持

Django现在正式支持MariaDB 10.1和更高版本。有关更多详细信息,请参见MariaDB注释

ASGI支持

Django 3.0通过提供对作为ASGI应用程序运行的支持,开始了使Django具有完全异步功能的旅程。

注:ASGI是WSGI的扩展,向下兼容WSGI,克服了WSGI的弱点,支持异步并发.有异步并发需求可以重新在生产环境下进行部署.

这是对我们现有的WSGI支持的补充。Django打算在可预见的将来为这两者提供支持。但是,异步功能仅对在ASGI下运行的应用程序可用。

除非您想开始尝试异步代码,否则无需切换应用程序,但是如果您想了解更多信息,我们有 关于使用ASGI进行部署的文档

请注意,作为此更改的副作用,Django现在知道异步事件循环,并将阻止您从异步上下文中调用标记为“async unsafe”的代码(例如ORM操作)。如果您之前使用的是异步代码中的Django,则操作不正确可能会触发它。如果看到SynchronousOnlyOperation错误,请仔细检查代码并将所有数据库操作移至同步子线程中。

PostgreSQL的排斥约束

新增了 ExclusionConstraint类, 允许在PostgreSQL上添加排除约束。使用Meta.constraints选项将约束添加到model 。

Filter 表达式

新增了BooleanField ,可以直接在QuerySet过滤器中使用输出的表达式,而不必首先注释,然后针对注释进行过滤。

在 model field choices中使用枚举

自定义枚举类型TextChoicesIntegerChoicesChoices 现在作为一个的方式来定义Field.choices。为文本和整数字段提供了类型TextChoices 和IntegerChoices类型。在 Choices类允许定义为其他具体的数据类型兼容的枚举。这些自定义枚举类型支持人类可读的标签,可以通过枚举或其成员上的属性来翻译和访问这些标签。有关更多详细信息和示例,请参见枚举类型

次要功能

django.contrib.admin

  • 增加了对admin_order_field的 ModelAdmin.list_display属性的支持。
  • 新增的ModelAdmin.get_inlines()方法允许根据请求或模型实例指定内联。
  • Select2库从4.0.3版本升级到4.0.7。  # Select2 是一个非常好用的下拉框插件,支持很多功能。
  • jQuery从版本3.3.1升级到版本3.4.1。

django.contrib.auth

django.contrib.gis

django.contrib.postgres

django.contrib.sessions

django.contrib.syndication

缓存

文件存储

表格

国际

记录

  • 的新reporter_class参数 AdminEmailHandler允许提供一个 django.views.debug.ExceptionReporter子类,以自定义ADMINSDEBUGis 时发送到站点的回溯文本False

管理命令

  • 新选项允许在搜索要编译的文件时忽略特定目录。compilemessages --ignore.po
  • showmigrations --list现在显示的--verbosity是大于等于2的日期时间 。
  • 在PostgreSQL上,dbshell现在支持客户端TLS证书。
  • inspectdb现在,OneToOneField 当外键具有唯一或主键约束时,它会进行自省。
  • --skip-checks选项将在运行命令之前跳过正在运行的系统检查。
  • 在和 选项现在存放在XZ档案(支持模板,)和LZMA档案(,)。startapp --templatestartproject --template.tar.xz.txz.tar.lzma.tlz

型号

  • 新增哈希数据库功能MD5, SHA1, SHA224, SHA256, SHA384,和 SHA512

  • 添加了Sign数据库功能。

  • 数据库功能的新is_dst 参数 Trunc确定了不存在和不明确的日期时间的处理方式。

  • connection.queries现在显示PostgreSQL上的语句。COPY … TO

  • FilePathField现在接受的可调用对象path

  • 允许使用对称的中间表作为自引用 ManyToManyField

  • name属性CheckConstraint, UniqueConstraint和 Index现在支持应用标签和类插值使用'%(app_label)s''%(class)s'占位符。

  • Field.descriptor_class属性允许模型字段通过覆盖其描述符来自定义get和set行为 。

  • AvgSum现在支持distinct论点。

  • 添加了SmallAutoField,它的行为类似于“ AutoField例外”,只是它只允许某个值(取决于数据库)下的值。从1到的值32767在Django支持的所有数据库中都是安全的。

  • AutoField, BigAutoField以及 SmallAutoField现在从继承 IntegerFieldBigIntegerFieldSmallIntegerField分别。系统检查和验证器现在也已正确继承。

  • FileField.upload_to现在支持pathlib.Path

  • CheckConstraint 现在在MySQL 8.0.16+上受支持。

  • 这种新的allows_group_by_selected_pks_on_model()方法 django.db.backends.base.BaseDatabaseFeatures允许对子句进行优化, 使其仅需要选定模型的主键。默认情况下,仅PostgreSQL上的托管模型支持它。GROUP BY

    要为非托管模型启用仅主键优化,您必须对PostgreSQL数据库引擎进行子类化,并根据需要覆盖features类方法。有关示例,请参见子类化内置数据库后端GROUP BYallows_group_by_selected_pks_on_model()

请求和响应

安全

测试

  • 新的测试Client参数 raise_request_exception允许控制是否应在测试中引发在请求期间引发的异常。该值默认True为向后兼容。如果是,False并且发生异常,则测试客户端将返回500响应,其中包含属性exc_info,一个元组提供发生的异常的信息。
  • 可以使用新选项通过测试名称模式选择要运行的测试和测试用例。test -k
  • assertHTMLEqual()现在,由所使用的HTML比较 将将相同字符引用的文本,字符引用和实体引用视为等效。
  • Django测试运行器现在支持在支持的浏览器上进行硒测试的无头模式。添加--headless选项以启用此模式。
  • Django测试运行器现在支持--start-at--start-after选项,以从特定的顶级模块开始运行测试。
  • Django测试运行器现在支持--pdb在每个错误或失败时生成调试器的选项。

Django 3.0的新功能的更多相关文章

  1. 一张图看懂ANSYS17.0 流体 新功能与改进

    一张图看懂ANSYS17.0 流体 新功能与改进   提交 我的留言 加载中 已留言   一张图看懂ANSYS17.0 流体 新功能与改进 原创2016-02-03ANSYS模拟在线模拟在线 模拟在线 ...

  2. Eviews 8.0&9.0界面新功能介绍

    Eviews 8.0&9.0界面新功能介绍 本文其中一些是自己的整理,也有一些是经管之家论坛中一位热心.好学坛友的整理,其中只是简单介绍一下这两个新版本的部分特性,分享出来,有兴趣的看客可以一 ...

  3. Kafka 0.11新功能介绍:空消费组延迟rebalance

    Kafka 0.11新功能介绍:空消费组延迟rebalance 在0.11之前的版本中,多个consumer实例加入到一个空消费组将导致多次的rebalance,这是由于每个consumer inst ...

  4. Apache Flink 1.9.0版本新功能介绍

    摘要:Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时,提供支持流处理和批处理两种类型应用的功能.目前,Apache Flink 1.9 ...

  5. Xamarin.Form 5.0: 新功能和控件以及调试改进

    上周在.NET Conf 2020,Scott Hunter(.NET),Maddy Leger(微软移动开发工具-Xamarin项目经理)和David Ortinau(首席项目经理,移动开发人员工具 ...

  6. geotrellis使用(二十)geotrellis1.0版本新功能及变化介绍

    目录 前言 变化情况介绍 总结 一.前言        之前版本是0.9或者0.10.1.0.10.2,最近发现更新成为1.0.0-2077839.1.0应该也能称之为正式版了吧.发现其中有很多变化, ...

  7. Eviews 9.0新版本新功能——预测(Auto-ARIMA预测、VAR预测)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 9.预测功能 新增需要方法的预测功能:Auto ...

  8. MyReport报表引擎2.1.0.1新功能

    MyReport报表引擎(免Flex开发集成版)的使用场合适用于以传统html构建的系统,希望集成MyReport报表引擎的报表预览.打印和报表设计功能,而且不须要进行Flex相关的二次开发的用户.M ...

  9. Kafka 2.0 ConsumerGroupCommand新功能

    一直觉得kafka-consumer-groups.sh的输出信息有点少,总算在2.0中得到了改善.新版本ConsumerGroupCommand增加了查看成员信息.组状态信息,算是弥补了之前的不足. ...

随机推荐

  1. uWSGI配置参数释义

    uWSGI配置参数释义 socket : 地址和端口号,例如:socket = 127.0.0.1:50000 processes : 开启的进程数量 workers : 开启的进程数量,等同于pro ...

  2. 关于无线的Idle Timeout和Session Timeout

    1.Session Timeout Session Timer的默认值为1800s,也就是30min.Session Timeout:当该计时器超时时,使得客户端强制发生重认证,这个时间是从客户端认证 ...

  3. Codeforces Round #619 (Div. 2) B. Motarack's Birthday

    Dark is going to attend Motarack's birthday. Dark decided that the gift he is going to give to Motar ...

  4. spark wordcount程序

    spark wordcount程序 IllegalAccessError错误 这个错误是权限错误,错误的引用方法,比如方法中调用private,protect方法. 当然大家知道wordcount业务 ...

  5. 设计模式六大原则——开放封闭原则(OCP)

    什么是开闭原则? 定义:是说软件实体(类.模块.函数等等)应该可以扩展,但是不可修改. 开闭原则主要体现在两个方面: 1.对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况. ...

  6. 1. Elasticsearch startup on local

    Download: https://www.elastic.co/downloads/elasticsearch 2. Setting: 1. [elasticsearch]\config\elast ...

  7. 【JavaWeb】JSP常用内置对象

    session //a页面 <% request.getSession().setAttribute("key","session");%> < ...

  8. Python 基础之面向对象之八步理解装饰器

    装饰器:在不改变原有代码的情况下,为该原函数扩展新功能特征:返回新函数,替换旧函数语法:@ 语法糖 1.装饰器原型 #例1: def kuozhan(func):    def newfunc():  ...

  9. springboot+mybatis多数据源

    首先,既然是多数据源,那么我们就先看下数据源怎么配置的: javaconfig类似下面这样: MapperScan注解常用配置如下: basePackages:Base packages to sca ...

  10. nginx 缓存

    浏览器缓存与nginx缓存 浏览器缓存 优点:使用有效缓存时,没有网络消耗,速度快:即使有网络消耗,但对失效缓存使用304响应做到网络消耗最小化 缺点:仅提升一个用户的体验 nginx 缓存 优点:提 ...