diff options
Diffstat (limited to 'rest_framework/serializers.py')
| -rw-r--r-- | rest_framework/serializers.py | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 0d35fb32..34f31531 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -878,7 +878,7 @@ class ModelSerializer(Serializer):          # Reverse fk or one-to-one relations          for (obj, model) in meta.get_all_related_objects_with_model(): -            field_name = obj.field.related_query_name() +            field_name = obj.get_accessor_name()              if field_name in attrs:                  related_data[field_name] = attrs.pop(field_name) @@ -949,11 +949,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)  | 
