aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Pietravalle2013-11-08 13:19:40 +0000
committerBen Pietravalle2013-11-08 13:19:40 +0000
commitb7b57adee2cc5a785a5df492424969c8ba311aa8 (patch)
tree7ec6250dbf872db0fda960c3a449be5ac2409645
parent97430c0d9c608728eb7dc135b9aac4d5327b9247 (diff)
downloaddjango-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().
-rw-r--r--rest_framework/serializers.py2
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)