summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
Diffstat (limited to 'django')
-rw-r--r--django/db/models/base.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/django/db/models/base.py b/django/db/models/base.py
index 3792ffb90e..7c7bd2d7ee 100644
--- a/django/db/models/base.py
+++ b/django/db/models/base.py
@@ -546,7 +546,10 @@ class Model(metaclass=ModelBase):
def __getstate__(self):
"""Hook to allow choosing the attributes to pickle."""
- return self.__dict__
+ state = self.__dict__.copy()
+ state['_state'] = copy.copy(state['_state'])
+ state['_state'].fields_cache = state['_state'].fields_cache.copy()
+ return state
def __setstate__(self, state):
pickled_version = state.get(DJANGO_VERSION_PICKLE_KEY)