diff options
| author | Tom Christie | 2012-10-28 20:50:14 +0000 |
|---|---|---|
| committer | Tom Christie | 2012-10-28 20:50:14 +0000 |
| commit | de6908fbef89f9fb02b5a2a7bfcd85280448f241 (patch) | |
| tree | be5a374e1bfb206ef106db4a5cba68ea7f0cf842 | |
| parent | 351382fe35f966c989b27add5bb04d0d983a99ee (diff) | |
| download | django-rest-framework-de6908fbef89f9fb02b5a2a7bfcd85280448f241.tar.bz2 | |
Remove recursion detection
| -rw-r--r-- | rest_framework/serializers.py | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 31d9d7a5..ce04b3e2 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -23,10 +23,6 @@ class SortedDictWithMetadata(SortedDict, DictWithMetadata): pass -class RecursionOccured(BaseException): - pass - - def _is_protected_type(obj): """ True if the object is a native datatype that does not need to @@ -93,7 +89,6 @@ class BaseSerializer(Field): self.parent = None self.root = None - self.stack = [] self.context = context or {} self.init_data = data @@ -152,10 +147,9 @@ class BaseSerializer(Field): def initialize(self, parent): """ Same behaviour as usual Field, except that we need to keep track - of state so that we can deal with handling maximum depth and recursion. + of state so that we can deal with handling maximum depth. """ super(BaseSerializer, self).initialize(parent) - self.stack = parent.stack[:] if parent.opts.depth: self.opts.depth = parent.opts.depth - 1 @@ -173,10 +167,6 @@ class BaseSerializer(Field): Core of serialization. Convert an object into a dictionary of serialized field values. """ - if obj in self.stack and not self.source == '*': - raise RecursionOccured() - self.stack.append(obj) - ret = self._dict_class() ret.fields = {} |
