diff --git a/NEWS.rst b/NEWS.rst index e26d83ca7c9efe86b6a4ac13f3554d6fcbb9668e_TkVXUy5yc3Q=..e1231ef08ace768839e5d0976297d4149f0f8ad1_TkVXUy5yc3Q= 100644 --- 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 index e26d83ca7c9efe86b6a4ac13f3554d6fcbb9668e_X19tYW5pZmVzdF9fLnB5..e1231ef08ace768839e5d0976297d4149f0f8ad1_X19tYW5pZmVzdF9fLnB5 100644 --- 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 index e26d83ca7c9efe86b6a4ac13f3554d6fcbb9668e_cmVsYXRpb24ucHk=..e1231ef08ace768839e5d0976297d4149f0f8ad1_cmVsYXRpb24ucHk= 100644 --- 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]