Docs 菜单
Docs 主页
/ /

版本说明

了解以下版本中的新功能:

  • 版本 6.0

  • 版本 5.2

  • 版本 5.1

本部分列出了以下补丁版本中引入的更改:

Django MongoDB后端 v6.0.3发布包含以下功能、改进和修复:

  • ObjectId在URL模式中添加对 匹配的支持。要学习;了解更多信息,请参阅API文档中的URL调度程序。

  • 在未配置Queryable Encryption时生成错误,防止在非加密数据库中创建具有加密字段的模型。

Django MongoDB后端 v6.0.2发布包含以下功能、改进和修复:

  • 新增对 QuerySet.intersection()QuerySet.difference() 方法的支持。

  • 添加对nulls_distinct 构造函数的UniqueConstraint 参数的支持,该参数允许您仅存储具有NULL 值的一个文档。要学习;了解更多信息,请参阅创建模型指南中的 指定唯一约束。

  • EmbeddedFieldIndex添加了EmbeddedModelField 类,可对 和EmbeddedModelArrayField 值的子字段启用索引。要学习;了解更多信息,请参阅创建索引指南中的嵌入式模型子字段索引。

  • 添加EmbeddedFieldUniqueConstraint 类,该类可对EmbeddedModelFieldEmbeddedModelArrayField 值的子字段启用唯一约束。要学习;了解更多信息,请参阅创建模型指南中的嵌入式字段约束。

  • 修复了一个错误,该错误会导致在对具有加密字段的模型调用 Model.save() 时出现错误。

Django MongoDB后端 v6.0.1发布包含以下功能、改进和修复:

  • 添加对Queryable Encryption 的支持。要学习;了解更多信息,请参阅Queryable Encryption教程。

  • 添加对空间查找的支持。要学习;了解详情,请参阅《指定查询》指南中的“查询地理空间值”。

  • 防止 Index 系统检查运行两次。

  • DatabaseErrorIntegrityError 异常添加异常消息。

  • 修复了 QuerySet.defer()QuerySet.only() 行为,以便这些方法项目正确的字段。

  • 不再使用聚合管道中的 $facet,从而提高查询性能。

警告

重大更改

Django MongoDB后端 v6.0.0发布了以下重大更改:

  • 删除对django_mongodb_backend.utils.parse_uri() 方法的支持。请改用DATABASES["HOST"] 键。要学习;了解更多信息,请参阅《配置数据库连接》指南中的自动配置数据库设置。

  • 将支持的最低MongoDB版本从 6.0 增加到 7.0。

本部分列出了以下补丁版本中引入的更改:

Django MongoDB后端 v5.2.4发布包含以下功能、改进和修复:

  • 通过将复杂条件从 $match 阶段推送到 $lookup 阶段,提高使用 $lookup聚合阶段的连接操作的性能

Django MongoDB后端 v5.2.3发布包含以下功能、改进和修复:

  • 防止 QuerySet.union() 查询重复 $project管道阶段。

  • 更新 Value 类以在 $literal操作符中包装字符串、字典和元组值,从而防止MongoDB将它们解释为表达式。同样,出于同样的原因,更新模型的查询现在会将值包装在 $literal操作符中。

  • 使用 localFieldforeignField 简化 $lookup 查询。

Django MongoDB后端 v5.2.2发布包含以下功能、改进和修复:

  • 添加以下 SearchIndex 参数,允许您创建更复杂的索引:

    • field_mappings

    • analyzer

    • search_analyzer

    要学习;了解更多信息,请参阅 索引指南中的搜索索引。

  • 修复了使用数据库转换器加载包含 EmbeddedModel 字段的模型时出现的 KeyError 异常(如果该字段不存在于数据中)。

  • 确保 db_column 参数适用于 EmbeddedModel 字段。

  • EmbeddedModelField 的搜索索引类型和 PolymorphicEmbeddedModelField 值从 embeddedDocuments 更正为 document

  • 修复了未初始化数据库连接时出现的 transaction.atomic() 错误。

  • 弃用了 django_mongodb_backend.utils.parse_uri() 方法。未来发布中已删除此方法。

Django MongoDB后端 v5.2.1发布包含以下功能、改进和修复:

  • 添加了对在DATABASES["HOST"] 键中指定连接字符串的支持,而不是使用django_mongodb_backend.utils.parse_uri() 方法。要学习;了解更多信息,请参阅《配置数据库连接》指南中的自动配置数据库设置。

  • 指示添加或删除搜索索引的迁移操作等待,直到该操作在服务器上完成,这可以防止按顺序运行多个操作时发生冲突。

  • 配置使用以下操作符的简单查询以使用 $match 而不是 $expr,从而允许它们使用索引:

    • $eq

    • $in

    • $and

    • $or

    • $gt

    • $gte

    • $lt

    • $lte

Django MongoDB后端 v5.2.0 是最初的正式发布 (GA)发布。要学习;了解有关 GA 功能的更多信息,请参阅博文Django MongoDB后端现已普遍可用。

警告

重大更改

Django MongoDB后端 v5.2.0 beta 3发布引入了以下破坏性变更 (breaking change):

  • 删除对非字符串字段的模式匹配查找的支持。以前,这些查找使用 $toString操作符转换其输入。这会导致性能问题,因为MongoDB在运行查询时无法使用索引。

警告

重大更改

此版本发布了以下重大更改:

  • 在表单和模型验证中将 django.db.models.SmallIntegerFielddjango.db.models.PositiveSmallIntegerField 值限制为 32 位。

  • 删除对数据库缓存的支持。这可以防止破坏数据库的攻击者使用 pickle 编码的缓存值在应用程序服务器上运行任意命令。

Django MongoDB后端 v5.2.0 beta 2发布包括以下功能、改进和修复:

  • 添加对MongoDB Search 查询的支持。要学习;了解更多信息,请参阅“运行MongoDB搜索查询”指南。

  • 添加了对EmbeddedModelArrayField 值的子查询支持。要学习;了解更多信息,请参阅《指定查询》指南中的“查询嵌入式模型数组值”。

  • options 参数添加到 django_mongodb_backend.utils.parse_uri() 方法。

  • 添加对数据库事务的支持。要学习;了解更多信息,请参阅 事务和会话指南。

  • 新增PolymorphicEmbeddedModelFieldPolymorphicEmbeddedModelArrayField 字段,用于存储可属于多个模型类的模型实例或模型实例列表。要学习;了解更多信息,请参阅创建模型指南中的存储多态嵌入式模型数据。

  • 添加 GeoDjango支持。要学习;了解更多信息,请参阅《地理空间数据建模》指南。

  • 更新 QuerySet.explain() 以返回可解析为JSON 的字符串。

  • 修复了 IntegerFieldPositiveBigIntegerField 字段的唯一约束生成问题,该字段错误地允许大于 32 位的重复值。您必须重新创建现有的唯一约束才能使用 $type: long 而不是 int

  • 将以下字段作为 bson.int64.Int64 值发送到MongoDB ,这修复了对小于 32 位的值的唯一约束:

    • IntegerField

    • BigIntegerField

    • PositiveIntegerField

    • PositiveBigIntegerField

    • DurationField

  • 通过删除服务器端分块的下限来提高 QuerySet 性能。

  • 通过将一些简单条件从 $match 阶段推送到 $lookup 阶段,提高使用 $lookup聚合阶段的连接操作的性能。

Django MongoDB后端 v5.2.0 beta 1发布包括以下功能、改进和修复:

  • EmbeddedModelArrayField添加用于存储模型实例列表的 字段。要学习;了解更多信息,请参阅创建模型指南中的存储嵌入式模型数组数据。

  • 修复了使用数据库转换器加载具有 null ArrayField 值和 base_field 的模型时发生的崩溃。

警告

重大更改

此版本发布了以下重大更改:

  • 将支持的最低PyMongo版本从 4.6 增加到 4.7。

  • 删除 django_mongodb_backend.utils.parse_uri()conn_max_age 参数。 Django MongoDB后端现在默认使用持久连接。

Django MongoDB后端 v5.2.0 beta 0发布包括以下功能、改进和修复:

  • SearchIndex添加了 和VectorSearchIndex 类,允许您创建MongoDB Search 和 Vector Search 索引。要学习;了解更多信息,请参阅 创建索引指南中的搜索索引和向量搜索索引。

  • 默认使用 PyMongo 的连接池化。

  • EmbeddedModelField 中添加对字段自定义查找和转换的支持。

  • 修复使用 Trunc数据库函数的 tzinfo 参数的查询结果。

  • 新增对 QuerySet.dates()QuerySet.datetimes() 方法的支持。

  • 修复了使用数据库转换器的嵌入式模型字段加载 QuerySet 结果的问题。

本部分列出了以下补丁版本中引入的更改:

警告

重大更改

此版本发布了以下破坏性变更 (breaking change):

  • 删除对数据库缓存的支持。这可以防止破坏数据库的攻击者使用 pickle 编码的缓存值在应用程序服务器上运行任意命令。

Django MongoDB后端 v5.1.0 beta 4发布包括以下功能、改进和修复:

  • 修复了加载具有 null ArrayField 值的模型以及 base_field 使用数据库转换器时发生的崩溃。

  • 通过删除服务器端分块的下限来提高 QuerySet 性能。

Django MongoDB后端 v5.1.0 beta 3发布包括以下功能、改进和修复:

  • 添加对字段自定义查找和转换的支持 EmbeddedModelField

  • 修复使用 Trunc数据库函数的 tzinfo 参数的查询结果

  • 新增对 QuerySet.dates()QuerySet.datetimes() 方法的支持

  • 修复了使用数据库转换器的嵌入式模型字段加载 QuerySet 结果的问题

警告

重大更改

此版本发布了以下破坏性变更 (breaking change):

  • ArrayFieldsize 参数重命名为 max_sizesize 参数现在用于实施固定长度数组。

Django MongoDB后端 v5.1.0 beta 2发布包括以下功能、改进和修复:

  • 添加对数据库缓存的支持。此支持后来在 v5.1.4 中删除。

  • 修复当文档键顺序与模型字段顺序不匹配时 QuerySet.raw_aggregate()字段初始化的问题。

警告

重大更改

此版本发布了以下破坏性变更 (breaking change):

  • ObjectIdAutoField 不再接受整数值

Django MongoDB后端 v5.1.0 beta 1发布包括以下功能、改进和修复:

  • 新增对保存嵌套嵌入式模型表单的支持

  • 修复持久数据库连接

  • 添加对异步操作的支持

  • db_name 参数添加到 django_mongodb_backend.utils.parse_uri() 方法

  • 添加 django_mongodb_backend.routers.MongoRouter 路由器,以确保 Django MongoDB后端不会为嵌入式模型创建集合,并且 dumpdata 命令不包含嵌入式模型

Django MongoDB后端 v5.1.0 beta0 是初始公开预览发布。要学习;了解有关公共预览功能的更多信息,请参阅博文“官方 Django MongoDB后端现已推出公共预览版”。

后退

迁移 Djongo ODM 应用程序

在此页面上