Beefed up the comments for AppConfig.all_models.
This commit is contained in:
parent
8f04f53dd8
commit
922430177c
|
@ -96,9 +96,10 @@ class AppConfig(object):
|
||||||
return cls(entry)
|
return cls(entry)
|
||||||
|
|
||||||
def import_models(self, all_models):
|
def import_models(self, all_models):
|
||||||
# Dictionary of models for this app, stored in the 'all_models'
|
# Dictionary of models for this app, primarily maintained in the
|
||||||
# attribute of the Apps this AppConfig is attached to. Injected as a
|
# 'all_models' attribute of the Apps this AppConfig is attached to.
|
||||||
# parameter because it may get populated before this method has run.
|
# Injected as a parameter because it gets populated when models are
|
||||||
|
# imported, which may happen before populate_models() runs.
|
||||||
self.models = all_models
|
self.models = all_models
|
||||||
|
|
||||||
if module_has_submodule(self.app_module, MODELS_MODULE_NAME):
|
if module_has_submodule(self.app_module, MODELS_MODULE_NAME):
|
||||||
|
|
|
@ -32,9 +32,13 @@ class Apps(object):
|
||||||
# get_model[s].
|
# get_model[s].
|
||||||
self.master = master
|
self.master = master
|
||||||
|
|
||||||
# Mapping of app labels => model names => model classes. Used to
|
# Mapping of app labels => model names => model classes. Every time a
|
||||||
# register models before the registry is populated and also for
|
# model is imported, ModelBase.__new__ calls apps.register_model which
|
||||||
# applications that aren't installed.
|
# creates an entry in all_models. All imported models are registered,
|
||||||
|
# regardless of whether they're defined in an installed application
|
||||||
|
# and whether the registry has been populated. Since it isn't possible
|
||||||
|
# to reimport a module safely (it could reexecute initialization code)
|
||||||
|
# all_models is never overridden or reset.
|
||||||
self.all_models = defaultdict(OrderedDict)
|
self.all_models = defaultdict(OrderedDict)
|
||||||
|
|
||||||
# Mapping of labels to AppConfig instances for installed apps.
|
# Mapping of labels to AppConfig instances for installed apps.
|
||||||
|
|
Loading…
Reference in New Issue