Commit 82d4b208 by Timo Tuominen

Add subclass matching to serializer field mapping.

parent b40525d8
...@@ -907,6 +907,9 @@ class ModelSerializer(Serializer): ...@@ -907,6 +907,9 @@ class ModelSerializer(Serializer):
try: try:
return self.field_mapping[model_field.__class__](**kwargs) return self.field_mapping[model_field.__class__](**kwargs)
except KeyError: except KeyError:
for model_field_class, serializer_field_class in self.field_mapping.items():
if isinstance(model_field, model_field_class):
return serializer_field_class(**kwargs)
return ModelField(model_field=model_field, **kwargs) return ModelField(model_field=model_field, **kwargs)
def get_validation_exclusions(self, instance=None): def get_validation_exclusions(self, instance=None):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment