mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-03 12:00:12 +03:00
fix to m2m object persistence
This commit is contained in:
parent
92c786132b
commit
5cfea7b933
|
@ -898,14 +898,16 @@ class ModelSerializer(Serializer):
|
||||||
obj.save(**kwargs)
|
obj.save(**kwargs)
|
||||||
|
|
||||||
if getattr(obj, '_m2m_data', None):
|
if getattr(obj, '_m2m_data', None):
|
||||||
for accessor_name, object_list in obj._m2m_data.items():
|
if hasattr(obj._m2m_data, '__iter__'):
|
||||||
for m2m_object in object_list:
|
for accessor_name, object_list in obj._m2m_data.items():
|
||||||
for field in m2m_object.__dict__.keys():
|
if object_list:
|
||||||
if not field == 'id':
|
for m2m_object in object_list:
|
||||||
attr = getattr(m2m_object, field)
|
for field in m2m_object.__dict__.keys():
|
||||||
setattr(m2m_object, field, m2m_object.__dict__[field])
|
if not field == 'id':
|
||||||
m2m_object.save()
|
attr = getattr(m2m_object, field)
|
||||||
del(obj._m2m_data)
|
setattr(m2m_object, field, m2m_object.__dict__[field])
|
||||||
|
m2m_object.save()
|
||||||
|
del(obj._m2m_data)
|
||||||
|
|
||||||
if getattr(obj, '_related_data', None):
|
if getattr(obj, '_related_data', None):
|
||||||
for accessor_name, related in obj._related_data.items():
|
for accessor_name, related in obj._related_data.items():
|
||||||
|
|
Loading…
Reference in New Issue
Block a user