| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .epub | 3 |
| 摘要 | ||
文档详细介绍了Django 4.2版本的更新内容,包括对psycopg 3的支持、新增的字段和表注释功能、移除的旧功能以及未来的计划。Django 4.2被指定为长期支持版本,支持Python 3.8至3.11,并计划结束对Django 3.2的支持。文档还提到了一些已知问题和未来版本的注意事项。 | ||
| AI总结 | ||
# Django 4.2.x 文档总结
## 核心内容概述
### 1. 弃用功能与移除项
Django 4.2版本移除了以下功能:
- `BaseUserManager.make_random_password()` 方法
- `model’s Meta.index_together` 选项
- `length_is` 模板过滤器
- `django.contrib.auth.hashers.SHA1PasswordHasher`、`UnsaltedSHA1PasswordHasher` 和 `UnsaltedMD5PasswordHasher`
- `django.contrib.postgres.fields.CICharField`、`CIEmailField` 和 `CITextField`
- `CIText` 混合类
- `BaseGeometryWidget` 的 `map_width` 和 `map_height` 属性
- `SimpleTestCase.assertFormsetError()` 方法
- `TransactionTestCase.assertQuerysetEqual()` 方法
- 对 JSONField 和相关查找/表达式的编码 JSON 字符串字面值的支持
- 对 `Signer` 和 `TimestampSigner` 的位置参数支持
- `DEFAULT_FILE_STORAGE` 和 `STATICFILES_STORAGE` 设置
### 2. 新增功能
#### a. **PostgreSQL 支持**
- 引入对 `psycopg3` 版本 3.1.8 或更高版本的支持,`django.db.backends.postgresql` 已兼容 `psycopg2` 和 `psycopg3`。
#### b. **数据库注释**
- 新增 `Field.db_comment` 和 `Meta.db_table_comment` 选项,允许在数据库表和字段上添加注释。
#### c. **Jython 支持**
- 增加对即将发布的 Jython 2.5 版本的兼容性。
#### d. **通用关系**
- `django.contrib.contenttypes` 中的类支持在表单和管理界面中使用通用关系。
#### e. **强制 INSERT/UPDATE 操作**
- 模型的 `save()` 方法新增参数,允许强制执行 `INSERT` 或 `UPDATE` 操作。
#### f. **缓存中间件重构**
- `CacheMiddleware` 分解为两个独立的中间件类,分别处理缓存插入和读取操作,提供更高的灵活性。
#### g. **评论系统重构**
- 通过 Google Summer of Code 项目,`django.contrib.comments` 经过重大重构,提升了灵活性和可定制性。
### 3. 已知问题与修复
- **Django 4.2.2 修复内容**:
- 修复了 Oracle 数据库上的 `TextField()/BinaryField()` 查询问题。
- 恢复 `JSONField` 子类的 `get_prep_value()` 调用。
- 修复 `QuerySet.defer()` 和 `QuerySet.only()` 在特定字段上的崩溃问题。
- 修复 `makemigrations --update` 不尊重 `--name` 选项的问题。
- 修复无序查询编译的性能回归。
- 修复样式表链接错误和查询集在 SQLite 上的序列化问题。
### 4. 版本兼容性
- **Python 兼容性**:支持 Python 3.8、3.9、3.10 和 3.11。
- **长期支持 (LTS)**:Django 4.2 是 LTS 版本,将提供至少三年的安全更新,而 Django 3.2 的支持将于 2024 年 4 月结束。
### 5. 已移除的模块与功能
- �移除 `django.utils.timezone.utc` 别名。
- 移除 `django.forms/default.html` 和 `django/forms/formsets/default.html` 模板。
- 移除 `Expression.asc()` 和 `Expression.desc()` 中的 `nulls_first` 和 `nulls_last` 参数。
### 6. 其他重要信息
- **发布说明**:文档包含从 Django 2.2 到 4.2 的所有版本的发布说明,供升级参考。
- **弃用策略**:遵循 Django 的弃用政策,移除的功能将在未来的版本中逐步淘汰。
---
### 总结
Django 4.2 版本主要聚焦于功能改进、性能优化和弃用旧功能,同时引入了对新数据库后端和开发模式的支持。开发者在升级时需注意处理已弃用的功能,并确保代码与新版本兼容。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
3298 页请下载阅读 -
文档评分














Django 4.2.x Documentation
Django 5.1.2 Documentation