[1.8.x] Refs #24591 -- Optimized cloning of ModelState objects.
Changed ModelState.clone() to create a deepcopy of self.fields.
This commit is contained in:
parent
43f800a978
commit
516907540b
|
@ -496,7 +496,7 @@ class ModelState(object):
|
||||||
return self.__class__(
|
return self.__class__(
|
||||||
app_label=self.app_label,
|
app_label=self.app_label,
|
||||||
name=self.name,
|
name=self.name,
|
||||||
fields=list(self.construct_fields()),
|
fields=[(name, copy.deepcopy(field)) for name, field in self.fields],
|
||||||
options=dict(self.options),
|
options=dict(self.options),
|
||||||
bases=self.bases,
|
bases=self.bases,
|
||||||
managers=list(self.construct_managers()),
|
managers=list(self.construct_managers()),
|
||||||
|
|
|
@ -4,7 +4,8 @@ Django 1.8.1 release notes
|
||||||
|
|
||||||
*Under development*
|
*Under development*
|
||||||
|
|
||||||
Django 1.8.1 fixes several bugs in 1.8.
|
Django 1.8.1 fixes several bugs in 1.8 and includes some optimizations in the
|
||||||
|
migrations framework.
|
||||||
|
|
||||||
Bugfixes
|
Bugfixes
|
||||||
========
|
========
|
||||||
|
@ -61,3 +62,11 @@ Bugfixes
|
||||||
|
|
||||||
* Fixed JavaScript path of ``contrib.admin``’s related field widget when using
|
* Fixed JavaScript path of ``contrib.admin``’s related field widget when using
|
||||||
alternate static file storages (:ticket:`24655`).
|
alternate static file storages (:ticket:`24655`).
|
||||||
|
|
||||||
|
Optimizations
|
||||||
|
=============
|
||||||
|
|
||||||
|
* Changed ``ModelState`` to deepcopy fields instead of deconstructing and
|
||||||
|
reconstructing (:ticket:`24591`). This speeds up the rendering of model
|
||||||
|
states and reduces memory usage when running :djadmin:`manage.py migrate
|
||||||
|
<migrate>`.
|
||||||
|
|
Loading…
Reference in New Issue