变更日志

Odoo 版本 18.0

  • 通过名称搜索现在已实现为 _search_display_name,与其他字段的实现方式相同。参见 #174967

  • 新方法用于检查访问权限和规则,现在将访问权限和规则结合起来:check_accesshas_access_filtered_access。参见 #179148

  • 翻译功能通过 Environment 提供,详见 #174844

Odoo 在线版本 17.4

  • 内部操作符 inselect 已被移除。替代方案是使用 in 结合查询或 SQL 对象。#171371

Odoo 在线版本 17.3

  • 我们现在可以在 read_group_read_group 和域中按日期部分数字进行分组,详见 #159528

Odoo 在线版本 17.2

  • group_operator 属性已重命名为 aggregator,详见 #127353

  • 我们现在可以对关联的非存储字段进行分组/聚合/排序,详见 #127353

Odoo 在线版本 17.1

  • 方法 _flush_search() 已被弃用,详见 #144747。字段的刷新现在由 execute_query() 完成,并基于 SQL 对象中通过 _search() 以及其他构建此类对象的低级 ORM 方法所放置的元数据。这些方法还负责检查在 SQL 对象中使用的字段的访问权限。

Odoo 版本 17.0

  • 引入一个 SQL 包装对象,以更简单且更安全的方式进行 SQL 拼接,防止 SQL 注入。ORM 的方法现在内部使用该对象。此功能由 #134677 引入。

Odoo 在线版本 16.4

  • 方法 name_get() 已弃用,详见 #122085。请改用字段 display_name

Odoo 在线版本 16.3

Odoo 在线版本 16.2

  • 对搜索和读取方法的实现进行重构,以便能够在最少的 SQL 查询中结合两者。我们引入了两个新方法 search_fetch()fetch(),它们利用了这种结合方式。更多详细信息请参见拉取请求 #112126

Odoo 版本 16.0

  • 已翻译字段的翻译以 JSONB 值形式存储,详见 #97692#101115。代码翻译不再存储到数据库中。它们变为静态内容,并在需要时从 PO 文件中提取。

  • search_count() 现在会考虑 limit 参数 #95589。它会限制要计数的记录数量,当接受部分结果时可以提高性能。

Odoo 在线版本 15.4

  • 新的用于将数据刷新到数据库并使缓存失效的 API,参见 #87527。已在 odoo.models.Modelodoo.api.Environment 中添加了新方法,这些方法在每种情况下实际执行的操作更加清晰明了。请参阅章节 SQL 执行

Odoo 在线版本 15.3

Odoo 在线版本 15.2

  • 特定字段的索引类型:通过 #83274#83015,开发者现在可以定义哪些类型的索引可以由 PostgreSQL 在字段上使用。请参阅 odoo.fields.Field索引属性

  • _sequence 属性已从 Model 中移除。Odoo 让 PostgreSQL 使用主键的默认序列。#82727

  • 方法 _write() 对于不存在的记录不会抛出错误。#82727

  • column_formatdeprecated 属性已从 Field 中移除。#82727