summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Tamlyn <marc.tamlyn@gmail.com>2014-11-18 20:24:48 +0000
committerMarc Tamlyn <marc.tamlyn@gmail.com>2014-12-09 09:10:51 +0000
commit6b2d3f9206e6eb2aafb75dcd0ef50ce672bc0ff3 (patch)
tree606bc717f63a04efd525fc254b9fc729b8f43d70
parentc0b65150ff86217e02c300afc03e44d6b5775ee8 (diff)
Remove text-mangling of default values.
-rw-r--r--django/contrib/postgres/fields/array.py8
-rw-r--r--django/db/models/fields/__init__.py2
-rw-r--r--docs/releases/1.8.txt5
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