Fix _serializer pickle bugs
parent
e108ddbb48
commit
62d97a80bc
|
|
@ -122,7 +122,7 @@ class InlineSerializerInspector(SerializerInspector):
|
||||||
# it is better to just remove title from inline models
|
# it is better to just remove title from inline models
|
||||||
del result.title
|
del result.title
|
||||||
|
|
||||||
setattr(result, '_serializer', serializer)
|
setattr(result, '_NP_serializer', get_serializer_class(serializer))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
if not ref_name or not use_references:
|
if not ref_name or not use_references:
|
||||||
|
|
@ -132,7 +132,7 @@ class InlineSerializerInspector(SerializerInspector):
|
||||||
actual_schema = definitions.setdefault(ref_name, make_schema_definition)
|
actual_schema = definitions.setdefault(ref_name, make_schema_definition)
|
||||||
actual_schema._remove_read_only()
|
actual_schema._remove_read_only()
|
||||||
|
|
||||||
actual_serializer = get_serializer_class(getattr(actual_schema, '_serializer', None))
|
actual_serializer = getattr(actual_schema, '_NP_serializer', None)
|
||||||
this_serializer = get_serializer_class(field)
|
this_serializer = get_serializer_class(field)
|
||||||
if actual_serializer and actual_serializer != this_serializer: # pragma: no cover
|
if actual_serializer and actual_serializer != this_serializer: # pragma: no cover
|
||||||
explicit_refs = self._has_ref_name(actual_serializer) and self._has_ref_name(this_serializer)
|
explicit_refs = self._has_ref_name(actual_serializer) and self._has_ref_name(this_serializer)
|
||||||
|
|
|
||||||
|
|
@ -167,7 +167,8 @@ class SwaggerDict(OrderedDict):
|
||||||
def __reduce__(self):
|
def __reduce__(self):
|
||||||
# for pickle supprt; this skips calls to all SwaggerDict __init__ methods and relies
|
# for pickle supprt; this skips calls to all SwaggerDict __init__ methods and relies
|
||||||
# on the already set attributes instead
|
# on the already set attributes instead
|
||||||
return _bare_SwaggerDict, (type(self),), vars(self), None, iter(self.items())
|
attrs = {k: v for k ,v in vars(self).items() if not k.startswith('_NP_')}
|
||||||
|
return _bare_SwaggerDict, (type(self),), attrs, None, iter(self.items())
|
||||||
|
|
||||||
|
|
||||||
class Contact(SwaggerDict):
|
class Contact(SwaggerDict):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue