documentation/content/developer/reference/backend/orm/changelog.md
2025-02-27 18:56:07 +07:00

5.4 KiB

(reference-orm-changelog)=

Changelog

Odoo version 18.0

  • Searching by name is now implemented as _search_display_name like all other fields. See #174967.
  • New methods to check access rights and rules now combine both access rights and rules: check_access, has_access and _filtered_access. See #179148.
  • Translations are made available from the Environment with #174844.

Odoo Online version 17.4

  • The internal operator inselect is removed. The alternative is to use in with a Query or SQL object. #171371.

Odoo Online version 17.3

  • We can now group by date parts numbers in read_group, _read_group and domains with #159528.

Odoo Online version 17.2

  • The {attr}group_operator attribute of {class}~odoo.fields.Field is renamed into {attr}aggregator with #127353.
  • We can now group/aggregate/order by related no-store field with #127353.

Odoo Online version 17.1

  • Method {meth}~odoo.models.Model._flush_search has been deprecated with #144747. The flushing of fields is now done by {meth}~odoo.api.Environment.execute_query, and is based on metadata put in the {class}~odoo.tools.SQL object by {meth}~odoo.models.BaseModel._search and other low-level ORM methods that build such objects. Those methods are also responsible for checking the access rights on the fields that are used in the SQL object.

Odoo version 17.0

  • Introduce an {class}~odoo.tools.SQL wrapper object to make SQL composition easier and safer with respect to SQL injections. Methods of the ORM now use it internally. Introduced by #134677.

Odoo Online version 16.4

  • Method {meth}~odoo.models.Model.name_get has been deprecated with #122085. Read field display_name instead.

Odoo Online version 16.3

  • Method {meth}~odoo.models.Model._read_group has a new signature with #110737

Odoo Online version 16.2

  • Refactor the implementation of searching and reading methods to be able to combine both in a minimal number of SQL queries. We introduce two new methods {meth}~odoo.models.Model.search_fetch and {meth}~odoo.models.Model.fetch that take advantage of the combination. More details can be found on the pull request #112126.

Odoo version 16.0

  • Translations for translated fields are stored as JSONB values with #97692 and #101115. Code translations are no longer stored into the database. They become static and are extracted from the PO files when needed.
  • {meth}~odoo.models.Model.search_count takes the {attr}limit argument into account with #95589. It limits the number of records to count, improving performance when a partial result is acceptable.

Odoo Online version 15.4

  • New API for flushing to the database and invalidating the cache with #87527. New methods have been added to odoo.models.Model and odoo.api.Environment, and are less confusing about what is actually done in each case. See the section {ref}SQL Execution <reference/orm/sql>.

Odoo Online version 15.3

  • The argument args is renamed to domain for {meth}~odoo.models.Model.search, {meth}~odoo.models.Model.search_count and {meth}~odoo.models.Model._search. #83687
  • {meth}~odoo.models.Model.filtered_domain conserves the order of the current recordset. #83687
  • {meth}~odoo.models.Model.browse does not accept {class}str as ids. #83687
  • The methods {meth}~odoo.models.Model.fields_get_keys and {meth}~odoo.models.Model.get_xml_id on {class}~odoo.models.Model are deprecated. #83687
  • The method {meth}~odoo.models.Model._mapped_cache is removed. #83687
  • Remove the {attr}limit attribute of {class}~odoo.fields.One2many and {class}~odoo.fields.Many2many. #83687

Odoo Online version 15.2

  • Specific index types on fields: With #83274 and #83015, developers can now define what type of indexes can be used on fields by PostgreSQL. See the {ref}index property <reference/fields> of odoo.fields.Field.
  • The {attr}_sequence attribute of {class}~odoo.models.Model is removed. Odoo lets PostgreSQL use the default sequence of the primary key. #82727
  • The method {meth}~odoo.models.Model._write does not raise an error for non-existing records. #82727
  • The {attr}column_format and {attr}deprecated attributes of {class}~odoo.fields.Field are removed. #82727