# 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]