django 2.2 新特性

新特性
约束
新的CheckConstraint和UniqueConstraint类现在开始支持自定义数据库约束,通过使用Meta.constraints选项。

小特性

  1. django.contrib.admin

为TabularInline添加了列头的CSS类

  1. django.contrib.auth

HttpRequest将被作为第一个位置参数传递给RemoteUserBackend.configure_user()方法。

  1. django.contrib.gis

Envelope函数开始支持Oracle。 coveredby和covers查询现在支持SpatiaLite 不再支持GDAL1.9和1.10

  1. django.contrib.staticfiles

为collectstatic --ignore选项添加路由,以支持类似/vendor/*.js的模式

  1. Database backends

为SQLite上的QuerySet.iterator()添加输出流

  1. Generic Views

新的View.setup钩子将在调用dispatch()方法之前初始化视图属性。

  1. Internationalization

现在支持亚美尼亚语言

  1. Management Commands

新的选项–force-color强制对输出添加颜色
inspectdb命令将为PostgreSQL数据库的外部表创建模型
inspectdb --include-views将为Oracle和PostgreSQL的物化视图创建模型
inspectdb --include-partitions将为PostgreSQL的分区表创建模型。
在Oracle和PostgreSQL上inspectdb命令将内省DurationField字段类型,在SQLite上内省AutoField字段类型。
在Oracle中,dbshell将被rlwrap包装起来。rlwrap提供一个命令历史记录和键盘输入编辑功能。
新的makemigrations --no-header选项可以在生成migration文件的时候避免写入头部注释。
runserver命令现在可以使用Watchman插件,用于提高监视大量修改文件的性能。并且不再支持pyinotify插件。
9. Migrations

新的migrate --plan选项将打印出迁移操作的列表
NoneType现在可以在migrations中序列化了
现在可以为migrations注册自定义的序列化器了
10. Models

为PostgreSQL ,新增Index.opclasses类
通过Index.condition,支持分区索引
新增NullIf和Reverse数据库函数
为QuerySet.bulk_create()函数新增ignore_conflicts参数,此参数如果设置为True,将忽略在添加数据行时的错误。
新增ExtractIsoYear函数
新增QuerySet.bulk_update()方法,提高批量更新指定字段的效率
对于Model.save()、QuerySet.update()和Model.delete()等单独的操作,Django将不再启动一个事务,这有助于提高自动提交数据库操作的性能
SQLite现在支持StdDev和Variance函数
Aggregate类现在开始支持DISTINCT聚合操作
RelatedManager.add()、create()、remove()、set()、get_or_create()、update_or_create() 等方法现在支持多对多关系。
SQLite现在要求最低版本是3.8.3
mysqlclient现在要求最低版本是1.3.13
11. Requests and Responses

新增HttpRequest.headers,可以快速地访问请求的头部信息

  1. URLs

新增的ResolverMatch.route属性保存了匹配的URL模式的路由

  1. Validators

MaxValueValidator、MinValueValidator、MinLengthValidator和MaxLengthValidator 现在可以接收一个可调用的limit_value参数值。


版权声明:本文为ailinyingai原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。