summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2015-11-25 12:31:23 -0500
committerSimon Charette <charette.s@gmail.com>2015-11-26 11:14:47 -0500
commitcc2ca9c550fbf8fca8684b373a3c8e3618eea08e (patch)
treef609b8775ae1ad21d5d706a625c0a432e615643a /django
parent831514867c9a2f8321ef15d0de25352a5b9ee3b9 (diff)
Fixed #25807 -- Instructed the migration writer about lazy objects.
Thanks to Trac alias mrgaolei for the report, Baptiste for the confirmation and Tim for the review.
Diffstat (limited to 'django')
-rw-r--r--django/db/migrations/writer.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/django/db/migrations/writer.py b/django/db/migrations/writer.py
index 692beef384..f36db323a0 100644
--- a/django/db/migrations/writer.py
+++ b/django/db/migrations/writer.py
@@ -19,7 +19,7 @@ from django.db.migrations.utils import COMPILED_REGEX_TYPE, RegexObject
from django.utils import datetime_safe, six
from django.utils._os import upath
from django.utils.encoding import force_text
-from django.utils.functional import Promise
+from django.utils.functional import LazyObject, Promise
from django.utils.inspect import get_func_args
from django.utils.module_loading import module_dir
from django.utils.timezone import now, utc
@@ -350,6 +350,10 @@ class MigrationWriter(object):
# process.
if isinstance(value, Promise):
value = force_text(value)
+ elif isinstance(value, LazyObject):
+ # The unwrapped value is returned as the first item of the
+ # arguments tuple.
+ value = value.__reduce__()[1][0]
# Sequences
if isinstance(value, (frozenset, list, set, tuple)):