diff --git a/docs/ref/applications.txt b/docs/ref/applications.txt index d1183ce4bf..2340951542 100644 --- a/docs/ref/applications.txt +++ b/docs/ref/applications.txt @@ -239,13 +239,27 @@ Methods as registering signals. It is called as soon as the registry is fully populated. - You cannot import models in modules that define application configuration - classes, but you can use :meth:`get_model` to access a model class by - name, like this:: + Although you can't import models at the module-level where + :class:`~django.apps.AppConfig` classes are defined, you can import them in + ``ready()``, using either an ``import`` statement or + :meth:`~AppConfig.get_model`. + + If you're registering :mod:`model signals `, you + can refer to the sender by its string label instead of using the model + class itself. + + Example:: + + from django.db.models.signals import pre_save def ready(self): + # importing model classes + from .models import MyModel # or... MyModel = self.get_model('MyModel') + # registering signals with the model's string label + pre_save.connect(receiver, sender='app_label.MyModel') + .. warning:: Although you can access model classes as described above, avoid