From b21d20dc0e8920e1fcc1aa43a9e2de9cdf2502f0 Mon Sep 17 00:00:00 2001 From: Tony Thomas Date: Mon, 23 Oct 2017 00:00:41 +0200 Subject: [PATCH] Add a new field to access external model fields --- rest_framework/fields.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 43fed9aee..8ccd881fb 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -1844,3 +1844,17 @@ class ModelField(Field): if is_protected_type(value): return value return self.model_field.value_to_string(obj) + + +class ExternalModelField(ModelField): + """ + Create a modelfield of an extenral class by accepting the class name as an + argument. + + This can help a lot while creating complex nested serializers + """ + def __init__(self, model_name, model_field, **kwargs): + super(ExternalModelField, self).__init__( + model_field=model_name()._meta.get_field(model_field), + **kwargs + ) \ No newline at end of file