Django 2.1.1 版本发行说明¶
2018 年 8 月 31 日
Django 2.1.1 修复了 2.1 版本中的一些错误。
漏洞修复¶
修复了
QuerySet.update_or_create()
中的竞态条件,可能导致数据丢失的问题 (#29499)。修复了一个回归问题,即如果字典包含非字符串值,
QueryDict.urlencode()
会崩溃 (#29627)。在 Django 2.0 中修复了一个回归问题,即如果数据库存在并且用户没有创建数据库的权限,则在 PostgreSQL 上使用
manage.py test --keepdb
失败 (#29613)。在 Django 2.0 中修复了一个回归问题,即组合
Q
对象和__in
查找与列表一起使用会崩溃 (#29643)。修复了
DurationField
的 "溢出" 错误消息的翻译失败问题 (#29623)。修复了一个回归问题,即如果用户没有对使用
TabularInline
的模型具有 'add' 权限,管理员更改表单会崩溃 (#29637)。修复了一个回归问题,即当在抽象基础模型上声明了
GenericRelation
时,未设置related_query_name
反向访问器 (#29653)。修复了测试客户端在处理结构化内容类型后缀时对请求数据字典的 JSON 序列化问题 (#29662)。
在用户具有 'view' 权限的情况下,使管理员更改视图在 POST 后重定向到 changelist 视图 (#29663)。
修复了管理员更改视图在只有查看权限的用户访问时,如果表单具有额外的表单字段,会导致崩溃的问题 (#29682)。
在 Django 2.0.5 中修复了一个回归问题,即在将带有
extra()
的查询集与union()
,difference()
或intersection()
结合使用后,调用QuerySet.values()
或values_list()
会因列不匹配而导致崩溃 (#29694)。修复了如果
InlineModelAdmin.has_add_permission()
不接受obj
参数会导致崩溃的问题 (#29723)。