Fixed #33848 -- Optimized StateApps.clone().

This commit is contained in:
Iuri de Silvio 2022-07-15 14:45:52 -04:00 committed by Mariusz Felisiak
parent d4c5d2b52c
commit f0fa2a3b49
1 changed files with 6 additions and 3 deletions

View File

@ -680,10 +680,13 @@ class StateApps(Apps):
"""Return a clone of this registry."""
clone = StateApps([], {})
clone.all_models = copy.deepcopy(self.all_models)
clone.app_configs = copy.deepcopy(self.app_configs)
# Set the pointer to the correct app registry.
for app_config in clone.app_configs.values():
for app_label in self.app_configs:
app_config = AppConfigStub(app_label)
app_config.apps = clone
app_config.import_models()
clone.app_configs[app_label] = app_config
# No need to actually clone them, they'll never change
clone.real_models = self.real_models
return clone