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):
|
def ready(self):
|
||||||
post_migrate.connect(my_callback, sender=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
|
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
|
versions of Django, signal registration usually happened in the
|
||||||
``models`` module.
|
``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-specific-signals:
|
||||||
|
|
||||||
Connecting to signals sent by specific senders
|
Connecting to signals sent by specific senders
|
||||||
|
|
Loading…
Reference in New Issue