diff options
| author | Tom Christie | 2012-12-14 19:59:21 +0000 |
|---|---|---|
| committer | Tom Christie | 2012-12-14 19:59:29 +0000 |
| commit | 39b01d6802310a90487f217c3de5428144c93429 (patch) | |
| tree | d35997b003ec38009aeaa43a6a99be9a824fb513 /rest_framework/serializers.py | |
| parent | 9eaf8e4330e0c6a4485dba650481a2578a3979b4 (diff) | |
| download | django-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.py | 7 |
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: |
