From e476143e7d62d3acaa0ca8391e06ca2c4a2aa577 Mon Sep 17 00:00:00 2001 From: Ran Benita Date: Wed, 8 May 2019 14:41:38 +0300 Subject: [PATCH] Pass through memo in __deepcopy__ as required by the docs This is needed to avoid problems with recursive loops. See https://docs.python.org/3.7/library/copy.html toward the end. --- rest_framework/fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 5e3132074..81e8a583e 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -614,7 +614,7 @@ class Field: for item in self._args ] kwargs = { - key: (copy.deepcopy(value) if (key not in ('validators', 'regex')) else value) + key: (copy.deepcopy(value, memo) if (key not in ('validators', 'regex')) else value) for key, value in self._kwargs.items() } return self.__class__(*args, **kwargs)