diff options
| author | Xavier Ordoquy | 2013-11-18 15:06:39 +0100 | 
|---|---|---|
| committer | Xavier Ordoquy | 2013-11-18 15:11:29 +0100 | 
| commit | a8b15f4290f4bad17d0dd599b8d5c29c155b89e5 (patch) | |
| tree | 69569a6587527c267a2f435511faadd07cd540a8 /rest_framework/serializers.py | |
| parent | ad7aa8fe485580e1bdff53d39fe3ea282d908a04 (diff) | |
| download | django-rest-framework-a8b15f4290f4bad17d0dd599b8d5c29c155b89e5.tar.bz2 | |
Another fix for nested writable serializers in case of the related_name isn’t set on the ForeignKey.
Diffstat (limited to 'rest_framework/serializers.py')
| -rw-r--r-- | rest_framework/serializers.py | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index e20e582e..5059c71b 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -940,11 +940,12 @@ class ModelSerializer(Serializer):              del(obj._m2m_data)          if getattr(obj, '_related_data', None): +            related_fields = dict(((f.get_accessor_name(), f) for f, m in obj._meta.get_all_related_objects_with_model()))              for accessor_name, related in obj._related_data.items():                  if isinstance(related, RelationsList):                      # Nested reverse fk relationship                      for related_item in related: -                        fk_field = obj._meta.get_field_by_name(accessor_name)[0].field.name +                        fk_field = related_fields[accessor_name].field.name                          setattr(related_item, fk_field, obj)                          self.save_object(related_item)  | 
