diff --git a/mongoengine/base/document.py b/mongoengine/base/document.py index 42a8bb4b..bb8d3a16 100644 --- a/mongoengine/base/document.py +++ b/mongoengine/base/document.py @@ -1082,8 +1082,8 @@ class BaseDocument(object): if field.choices and isinstance(field.choices[0], (list, tuple)): if value is None: return None - sep = getattr(field, 'display_sep', u' ') - values = value if field.__class__.__name__ == 'ListField' else [value] + sep = getattr(field, 'display_sep', ' ') + values = value if field.__class__.__name__ in ('ListField', 'SortedListField') else [value] return sep.join([ dict(field.choices).get(val, val) for val in values or []]) diff --git a/tests/fields/fields.py b/tests/fields/fields.py index 336e116c..1dc25d12 100644 --- a/tests/fields/fields.py +++ b/tests/fields/fields.py @@ -921,7 +921,7 @@ class FieldTest(MongoDBTestCase): def test_list_validation(self): """Ensure that a list field only accepts lists with valid elements.""" AccessLevelChoices = ( - ('a', u'Administrator'), + ('a', u'Administration'), ('b', u'Manager'), ('c', u'Staff'), ) @@ -938,7 +938,7 @@ class FieldTest(MongoDBTestCase): tags = ListField(StringField()) authors = ListField(ReferenceField(User)) generic = ListField(GenericReferenceField()) - access_list = ListField(required=False, default=[], choices=AccessLevelChoices, display_sep=u',') + access_list = ListField(choices=AccessLevelChoices, display_sep=', ') User.drop_collection() BlogPost.drop_collection() @@ -965,7 +965,7 @@ class FieldTest(MongoDBTestCase): post.access_list = ['a', 'b'] post.validate() - self.assertEqual(post.get_access_list_display(), u'Administrator,Manager') + self.assertEqual(post.get_access_list_display(), u'Administration, Manager') post.comments = ['a'] self.assertRaises(ValidationError, post.validate)