aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--djangorestframework/serializer.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/djangorestframework/serializer.py b/djangorestframework/serializer.py
index 9481eeff..ffe9d8cb 100644
--- a/djangorestframework/serializer.py
+++ b/djangorestframework/serializer.py
@@ -179,7 +179,8 @@ class Serializer(object):
stack = self.stack[:]
stack.append(obj)
- return related_serializer(depth=depth, stack=stack).serialize(obj)
+ return related_serializer(depth=depth, stack=stack).serialize(
+ obj, request=self.request)
def serialize_max_depth(self, obj):
"""
@@ -253,11 +254,15 @@ class Serializer(object):
"""
return smart_unicode(obj, strings_only=True)
- def serialize(self, obj):
+ def serialize(self, obj, request=None):
"""
Convert any object into a serializable representation.
"""
+ # Request from related serializer.
+ if request is not None:
+ self.request = request
+
if isinstance(obj, (dict, models.Model)):
# Model instances & dictionaries
return self.serialize_model(obj)