diff --git a/CHANGELOG b/CHANGELOG index 88df4fa176..e55dbac76c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,4 @@ +* Use dictionary as search_order on Reference field * Retry sending email on temporary failure * Order not sorted Selection by index definition * Add optional column on tree view diff --git a/doc/ref/models/fields.rst b/doc/ref/models/fields.rst index 5b84506877..34bba5e11c 100644 --- a/doc/ref/models/fields.rst +++ b/doc/ref/models/fields.rst @@ -648,7 +648,9 @@ But a ``tuple`` can be used to search or set value. .. attribute:: Reference.search_order - Same as :attr:`Many2One.search_order` + A dictionary that contains a :ref:`PYSON ` expression defining + the default order used to display search results in the clients per model + name. .. attribute:: Reference.search_context diff --git a/trytond/model/fields/reference.py b/trytond/model/fields/reference.py index adea534d73..16c2700eba 100644 --- a/trytond/model/fields/reference.py +++ b/trytond/model/fields/reference.py @@ -85,7 +85,11 @@ class Reference(SelectionMixin, Field): @search_order.setter def search_order(self, value): - search_order_validate(value) + if value is None: + value = {} + assert isinstance(value, dict) + for order in value.values(): + search_order_validate(order) self.__search_order = value @property