diff --git a/django/core/exceptions.py b/django/core/exceptions.py index 28e712e0a5..a8b432b1c6 100644 --- a/django/core/exceptions.py +++ b/django/core/exceptions.py @@ -1,9 +1,6 @@ """ Global Django exception and warning classes. """ -from functools import reduce -import operator - from django.utils import six from django.utils.encoding import force_text @@ -137,7 +134,7 @@ class ValidationError(Exception): @property def messages(self): if hasattr(self, 'error_dict'): - return reduce(operator.add, dict(self).values()) + return sum(dict(self).values(), []) return list(self) def update_error_dict(self, error_dict): diff --git a/django/db/backends/schema.py b/django/db/backends/schema.py index 721be2aeb5..aa13e421d4 100644 --- a/django/db/backends/schema.py +++ b/django/db/backends/schema.py @@ -1,5 +1,4 @@ import hashlib -import operator from django.db.backends.creation import BaseDatabaseCreation from django.db.backends.utils import truncate_name @@ -7,7 +6,6 @@ from django.db.models.fields.related import ManyToManyField from django.db.transaction import atomic from django.utils.encoding import force_bytes from django.utils.log import getLogger -from django.utils.six.moves import reduce from django.utils import six logger = getLogger('django.db.backends.schema') @@ -609,7 +607,7 @@ class BaseDatabaseSchemaEditor(object): # Combine actions together if we can (e.g. postgres) if self.connection.features.supports_combined_alters and actions: sql, params = tuple(zip(*actions)) - actions = [(", ".join(sql), reduce(operator.add, params))] + actions = [(", ".join(sql), sum(params, []))] # Apply those actions for sql, params in actions: self.execute( diff --git a/tests/test_exceptions/test_validation_error.py b/tests/test_exceptions/test_validation_error.py index ee91fc75b4..a0bbfaf77e 100644 --- a/tests/test_exceptions/test_validation_error.py +++ b/tests/test_exceptions/test_validation_error.py @@ -6,8 +6,8 @@ from django.core.exceptions import ValidationError class TestValidationError(unittest.TestCase): def test_messages_concatenates_error_dict_values(self): message_dict = {} - with self.assertRaises(TypeError): - ValidationError(message_dict).messages + exception = ValidationError(message_dict) + self.assertEqual(sorted(exception.messages), []) message_dict['field1'] = ['E1', 'E2'] exception = ValidationError(message_dict) self.assertEqual(sorted(exception.messages), ['E1', 'E2'])