diff options
| author | Ben Pietravalle | 2013-11-08 13:19:40 +0000 |
|---|---|---|
| committer | Ben Pietravalle | 2013-11-08 13:19:40 +0000 |
| commit | b7b57adee2cc5a785a5df492424969c8ba311aa8 (patch) | |
| tree | 7ec6250dbf872db0fda960c3a449be5ac2409645 /rest_framework/serializers.py | |
| parent | 97430c0d9c608728eb7dc135b9aac4d5327b9247 (diff) | |
| download | django-rest-framework-b7b57adee2cc5a785a5df492424969c8ba311aa8.tar.bz2 | |
Fix object creation with reverse M2M when related_name unspecified
It seems that field.related_query_name() does not return the related_name
for reverse M2M relations when related_name is not explicitly set in the M2M field
definition.
So, change to use obj.get_accessor_name(), where obj is an instance of
RelatedObject, as are returned by a model's
_meta.get_all_related_many_to_many_objects(), or as in the tuples returned by
_meta.get_all_m2m_objects_with_model().
Diffstat (limited to 'rest_framework/serializers.py')
| -rw-r--r-- | rest_framework/serializers.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 5240dbf6..244fbe63 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -873,7 +873,7 @@ class ModelSerializer(Serializer): # Reverse m2m relations for (obj, model) in meta.get_all_related_m2m_objects_with_model(): - field_name = obj.field.related_query_name() + field_name = obj.get_accessor_name() if field_name in attrs: m2m_data[field_name] = attrs.pop(field_name) |
