Added notes on registering signals in ready() and using dispatch_uid.
Refs #23641.
This commit is contained in:
parent
a15aba66f2
commit
d66bda6059
|
@ -509,6 +509,15 @@ For example, you could register a callback in an
|
|||
def ready(self):
|
||||
post_migrate.connect(my_callback, sender=self)
|
||||
|
||||
.. note::
|
||||
|
||||
If you provide an :class:`~django.apps.AppConfig` instance as the sender
|
||||
argument, please ensure that the signal is registered in
|
||||
:meth:`~django.apps.AppConfig.ready`. ``AppConfig``\s are recreated for
|
||||
tests that run with a modified set of :setting:`INSTALLED_APPS` (such as
|
||||
when settings are overridden) and such signals should be connected for each
|
||||
new ``AppConfig`` instance.
|
||||
|
||||
post_syncdb
|
||||
-----------
|
||||
|
||||
|
|
|
@ -146,6 +146,13 @@ Now, our ``my_callback`` function will be called each time a request finishes.
|
|||
versions of Django, signal registration usually happened in the
|
||||
``models`` module.
|
||||
|
||||
.. note::
|
||||
|
||||
The :meth:`~django.apps.AppConfig.ready` method may be executed more than
|
||||
once during testing, so you may want to :ref:`guard your signals from
|
||||
duplication <preventing-duplicate-signals>`, especially if you're planning
|
||||
to send them within tests.
|
||||
|
||||
.. _connecting-to-specific-signals:
|
||||
|
||||
Connecting to signals sent by specific senders
|
||||
|
|
Loading…
Reference in New Issue