This commit is contained in:
COCOLMAN 2017-05-24 19:35:53 +00:00 committed by GitHub
commit a172735db0

View File

@ -14,6 +14,7 @@ from __future__ import unicode_literals
import copy import copy
import inspect import inspect
import re
import traceback import traceback
from collections import Mapping, OrderedDict from collections import Mapping, OrderedDict
@ -367,10 +368,20 @@ class Serializer(BaseSerializer):
@cached_property @cached_property
def _writable_fields(self): def _writable_fields(self):
return [ ret = []
field for field in self.fields.values() for field in self.fields.values():
if (not field.read_only) or (field.default is not empty) if re.compile("\_set$").findall(field.source):
] try:
for field in field.child._writable_fields:
if (not field.read_only) or (field.default is not empty):
ret.append(field)
except:
if (not field.read_only) or (field.default is not empty):
ret.append(field)
continue
if (not field.read_only) or (field.default is not empty):
ret.append(field)
return ret
@cached_property @cached_property
def _readable_fields(self): def _readable_fields(self):