From ab3892342be0ceea586dd72a661f1dcf5e8c209c Mon Sep 17 00:00:00 2001 From: Samir Otiv Date: Thu, 2 Jun 2016 13:47:03 +0530 Subject: [PATCH] Modified depth to make it dynamically editable --- rest_framework/serializers.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 8c475e91c..1071c9257 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -326,6 +326,16 @@ class Serializer(BaseSerializer): 'invalid': _('Invalid data. Expected a dictionary, but got {datatype}.') } + @property + def depth(self): + if not hasattr(self, '_depth'): + self._depth = getattr(self.Meta, 'depth', 0) + return self._depth + + @depth.setter + def depth(self, value): + self._depth = value + @property def fields(self): """ @@ -912,7 +922,7 @@ class ModelSerializer(Serializer): declared_fields = copy.deepcopy(self._declared_fields) model = getattr(self.Meta, 'model') - depth = getattr(self.Meta, 'depth', 0) + depth = self.depth if depth is not None: assert depth >= 0, "'depth' may not be negative."