# HG changeset patch # User Balde Oury <oury.balde@xcg-consulting.fr> # Date 1716912248 0 # Tue May 28 16:04:08 2024 +0000 # Branch 16.0 # Node ID e1231ef08ace768839e5d0976297d4149f0f8ad1 # Parent e26d83ca7c9efe86b6a4ac13f3554d6fcbb9668e Added `sortkey` parameter to the `RelationToMany` class diff --git a/NEWS.rst b/NEWS.rst --- a/NEWS.rst +++ b/NEWS.rst @@ -1,6 +1,11 @@ Changelog ========= +16.0.1.2.0 +---------- + +Added `sortkey` parameter to the `RelationToMany` class. + 16.0.1.1.1 ---------- diff --git a/__manifest__.py b/__manifest__.py --- a/__manifest__.py +++ b/__manifest__.py @@ -22,7 +22,7 @@ "name": "Converter", "license": "AGPL-3", "summary": "Convert odoo records to/from plain data structures.", - "version": "16.0.1.1.1", + "version": "16.0.1.2.0", "category": "Hidden", "author": "XCG Consulting", "website": "https://orbeet.io/", diff --git a/relation.py b/relation.py --- a/relation.py +++ b/relation.py @@ -127,6 +127,7 @@ field_name: str, model_name: Optional[str], converter: Converter, + sortkey: None | Callable[[models.Model], bool] = None, filtered: None | str | Callable[[models.Model], bool] = None, context: Optional[ContextBuilder] = None, limit: Optional[Any] = None, @@ -138,6 +139,7 @@ self.converter = converter self.model_name = model_name self.filtered = filtered + self.sortkey = sortkey self.context = context self.limit = limit @@ -150,6 +152,8 @@ return Skip if self.filtered: value = value.filtered(self.filtered) + if self.sortkey: + value = value.sorted(key=self.sortkey) if self.limit: value = value[: self.limit]