diff options
| author | Marc Tamlyn <marc.tamlyn@gmail.com> | 2014-11-18 20:24:48 +0000 |
|---|---|---|
| committer | Marc Tamlyn <marc.tamlyn@gmail.com> | 2014-12-09 09:10:51 +0000 |
| commit | 6b2d3f9206e6eb2aafb75dcd0ef50ce672bc0ff3 (patch) | |
| tree | 606bc717f63a04efd525fc254b9fc729b8f43d70 | |
| parent | c0b65150ff86217e02c300afc03e44d6b5775ee8 (diff) | |
Remove text-mangling of default values.
| -rw-r--r-- | django/contrib/postgres/fields/array.py | 8 | ||||
| -rw-r--r-- | django/db/models/fields/__init__.py | 2 | ||||
| -rw-r--r-- | docs/releases/1.8.txt | 5 |
3 files changed, 6 insertions, 9 deletions
diff --git a/django/contrib/postgres/fields/array.py b/django/contrib/postgres/fields/array.py index c28e3d6ca3..ae07f1bc0c 100644 --- a/django/contrib/postgres/fields/array.py +++ b/django/contrib/postgres/fields/array.py @@ -96,14 +96,6 @@ class ArrayField(Field): value = [self.base_field.to_python(val) for val in vals] return value - def get_default(self): - """Overridden from the default to prevent string-mangling.""" - if self.has_default(): - if callable(self.default): - return self.default() - return self.default - return None - def value_to_string(self, obj): values = [] vals = self._get_val_from_obj(obj) diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 2c3efbb689..3b42c998b7 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -722,7 +722,7 @@ class Field(RegisterLookupMixin): if self.has_default(): if callable(self.default): return self.default() - return force_text(self.default, strings_only=True) + return self.default if (not self.empty_strings_allowed or (self.null and not connection.features.interprets_empty_strings_as_nulls)): return None diff --git a/docs/releases/1.8.txt b/docs/releases/1.8.txt index a233edd443..6635d625bb 100644 --- a/docs/releases/1.8.txt +++ b/docs/releases/1.8.txt @@ -857,6 +857,11 @@ Miscellaneous :exc:`~django.test.client.RedirectCycleError` if it detects a loop or hits a maximum redirect limit (rather than passing silently). +* Translatable strings set as the ``default`` parameter of the field are cast + to concrete strings later, so the return type of ``Field.get_default()`` is + different in some cases. There is no change to default values which are the + result of a callable. + .. _deprecated-features-1.8: Features deprecated in 1.8 |
