昨天,Django团队宣布发布Django 2.2。此版本附带了自定义数据库约束类,Watchman与runserver的兼容性等。它支持Python 3.5,3.6和3.7。
由于此版本是长期支持(LTS)版本,因此至少在未来三年内将获得安全和数据更新。此外,此版本标志着Django 2.1主流支持的终结,它将继续获得安全和数据丢失修复,直到2019年12月。
以下是Django 2.2附带的一些更新:
自定义数据库约束类
引入了两个新类来创建自定义数据库约束:
CheckConstraint和UniqueConstraint。您可以使用“Meta.constraints”选项向模型添加约束。
Watchman兼容runserver
此版本附带Watchman兼容性,用于替换Pyinotify的runserver。 Watchman是一种服务,用于在文件更改时进行监视和记录,并在匹配文件更改时触发操作。
简单访问请求头
Django 2.2附带了HttpRequest.headers,允许简单访问请求的头文件。它提供了一个不区分大小写的类似dict的对象,用于从请求中访问所有HTTP加前缀的头文件。每个标题名称在显示时都使用title-casing进行样式化,例如User-Agent。
使用自然键和转发引用反序列化
要执行反序列化,您现在可以通过将'handle_forward_references=True'传递给'serializers.deserialize()'来使用包含前向引用的自然键。除此之外,前向引用由“loaddata”自动处理。
一些向后不兼容的更改和弃用
- 从此版本开始,不会从基础ModelAdmin类中收集管理操作。
- 地理空间数据抽象库(GDAL)1.9和1.10的支持被删除。
- 现在,团队已经使sqlparse成为一个必需的依赖项,以简化Django的数据库处理。
- 现在使用代理模型的内容类型创建代理模型的权限。
在此版本中,模型Meta.ordering不会影响GROUP By查询,例如. .annotate().values()。现在,将显示弃用警告,其中包含添加order_by()以保留当前查询的建议。
要阅读完整的更新列表,请访问Django的官方网站。
Nginx+uWSGI+Django+Python 应用架构部署 https://www.linuxidc.com/Linux/2015-10/124183.htm
Ubuntu Server 14.04.2 LTS 配置 Nginx + Uwsgi + Django https://www.linuxidc.com/Linux/2015-04/116397.htm
Flask+uWSGI+Nginx+Ubuntu部署教程 https://www.linuxidc.com/Linux/2016-06/132690.htm
Ubuntu 16.04下安装部署 Nginx+uWSGI+Django1.9.7 https://www.linuxidc.com/Linux/2016-07/133484.htm
Ubuntu 16.10 下部署Django+uWSGI+Nginx服务器 https://www.linuxidc.com/Linux/2017-05/143661.htm
Nginx+uWSGI+Django在Ubuntu下的部署 https://www.linuxidc.com/Linux/2016-07/133490.htm
uWSGI+Nginx+Django安装和配置 https://www.linuxidc.com/Linux/2017-03/141822.htm
Linux 上利用Nginx代理uWSGI处理Flask Web应用 https://www.linuxidc.com/Linux/2016-08/134164.htm
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址:https://www.linuxidc.com/Linux/2019-04/157906.htm