aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/serializers.py
diff options
context:
space:
mode:
authorTom Christie2012-12-14 19:59:21 +0000
committerTom Christie2012-12-14 19:59:29 +0000
commit39b01d6802310a90487f217c3de5428144c93429 (patch)
treed35997b003ec38009aeaa43a6a99be9a824fb513 /rest_framework/serializers.py
parent9eaf8e4330e0c6a4485dba650481a2578a3979b4 (diff)
downloaddjango-rest-framework-39b01d6802310a90487f217c3de5428144c93429.tar.bz2
Ensure context is passed to dynamically added fields. Fixes #476.
Diffstat (limited to 'rest_framework/serializers.py')
-rw-r--r--rest_framework/serializers.py7
1 files changed, 2 insertions, 5 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py
index caa7c980..8026205e 100644
--- a/rest_framework/serializers.py
+++ b/rest_framework/serializers.py
@@ -171,10 +171,6 @@ class BaseSerializer(Field):
for key in self.opts.exclude:
ret.pop(key, None)
- # Initialize the fields
- for key, field in ret.items():
- field.initialize(parent=self, field_name=key)
-
return ret
#####
@@ -214,6 +210,7 @@ class BaseSerializer(Field):
ret.fields = {}
for field_name, field in self.fields.items():
+ field.initialize(parent=self, field_name=field_name)
key = self.get_field_key(field_name)
value = field.field_to_native(obj, field_name)
ret[key] = value
@@ -227,6 +224,7 @@ class BaseSerializer(Field):
"""
reverted_data = {}
for field_name, field in self.fields.items():
+ field.initialize(parent=self, field_name=field_name)
try:
field.field_from_native(data, files, field_name, reverted_data)
except ValidationError as err:
@@ -407,7 +405,6 @@ class ModelSerializer(Serializer):
field = self.get_field(model_field)
if field:
- field.initialize(parent=self, field_name=model_field.name)
ret[model_field.name] = field
for field_name in self.opts.read_only_fields: