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 usein
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¶
Odoo Online version 17.1¶
Method
_flush_search()
has been deprecated with #144747. The flushing of fields is now done byexecute_query()
, and is based on metadata put in theSQL
object by_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
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
name_get()
has been deprecated with #122085. Read fielddisplay_name
instead.
Odoo Online version 16.3¶
Method
_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
search_fetch()
andfetch()
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.
search_count()
takes thelimit
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
andodoo.api.Environment
, and are less confusing about what is actually done in each case. See the section SQL Execution.
Odoo Online version 15.3¶
The argument
args
is renamed todomain
forsearch()
,search_count()
and_search()
. #83687filtered_domain()
conserves the order of the current recordset. #83687The methods
fields_get_keys()
andget_xml_id()
onModel
are deprecated. #83687The method
_mapped_cache()
is removed. #83687Remove the
limit
attribute ofOne2many
andMany2many
. #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 index property of
odoo.fields.Field
.The
_sequence
attribute ofModel
is removed. Odoo lets PostgreSQL use the default sequence of the primary key. #82727The method
_write()
does not raise an error for non-existing records. #82727The
column_format
anddeprecated
attributes ofField
are removed. #82727