diff --git a/CHANGELOG b/CHANGELOG index 76d426db12..b8a849e106 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,4 @@ +* Always return tuple for MultiSelection * Use default selectors instead of select * Add batch option to push queue tasks * Support ref value for reference field diff --git a/trytond/model/fields/multiselection.py b/trytond/model/fields/multiselection.py index 168d9e7c85..160db02e4b 100644 --- a/trytond/model/fields/multiselection.py +++ b/trytond/model/fields/multiselection.py @@ -55,7 +55,7 @@ class MultiSelection(SelectionMixin, Field): self.selection, RPC(instantiate=instantiate)) def get(self, ids, model, name, values=None): - lists = {id: None for id in ids} + lists = {id: () for id in ids} for value in values or []: data = value[name] if data: diff --git a/trytond/tests/test_field_multiselection.py b/trytond/tests/test_field_multiselection.py index 439c0bc76f..c0245f6f61 100644 --- a/trytond/tests/test_field_multiselection.py +++ b/trytond/tests/test_field_multiselection.py @@ -29,7 +29,7 @@ class FieldMultiSelectionTestCase(unittest.TestCase): }]) self.assertEqual(selection.selects, ('bar', 'foo')) - self.assertEqual(selection_none.selects, None) + self.assertEqual(selection_none.selects, ()) @with_transaction() def test_create_not_in(self): @@ -67,7 +67,7 @@ class FieldMultiSelectionTestCase(unittest.TestCase): 'dyn_selects': None, }]) - self.assertEqual(selection.dyn_selects, None) + self.assertEqual(selection.dyn_selects, ()) @with_transaction() def test_create_dynamic_not_in(self): @@ -100,7 +100,7 @@ class FieldMultiSelectionTestCase(unittest.TestCase): 'static_selects': None, }]) - self.assertEqual(selection.static_selects, None) + self.assertEqual(selection.static_selects, ()) @with_transaction() def test_create_static_not_in(self): @@ -183,7 +183,7 @@ class FieldMultiSelectionTestCase(unittest.TestCase): 'selects': None, }]) - self.assertEqual(selection.selects_string, None) + self.assertEqual(selection.selects_string, []) @with_transaction() def test_search_equals(self):