summaryrefslogtreecommitdiff
path: root/parts/django/docs/ref/signals.txt
diff options
context:
space:
mode:
Diffstat (limited to 'parts/django/docs/ref/signals.txt')
-rw-r--r--parts/django/docs/ref/signals.txt475
1 files changed, 0 insertions, 475 deletions
diff --git a/parts/django/docs/ref/signals.txt b/parts/django/docs/ref/signals.txt
deleted file mode 100644
index 4bc1f3f..0000000
--- a/parts/django/docs/ref/signals.txt
+++ /dev/null
@@ -1,475 +0,0 @@
-=======
-Signals
-=======
-
-A list of all the signals that Django sends.
-
-.. seealso::
-
- See the documentation on the :doc:`signal dispatcher </topics/signals>` for
- information regarding how to register for and receive signals.
-
- The :doc:`comment framework </ref/contrib/comments/index>` sends a :doc:`set
- of comment-related signals </ref/contrib/comments/signals>`.
-
-Model signals
-=============
-
-.. module:: django.db.models.signals
- :synopsis: Signals sent by the model system.
-
-The :mod:`django.db.models.signals` module defines a set of signals sent by the
-module system.
-
-.. warning::
-
- Many of these signals are sent by various model methods like
- :meth:`~django.db.models.Model.__init__` or
- :meth:`~django.db.models.Model.save` that you can overwrite in your own
- code.
-
- If you override these methods on your model, you must call the parent class'
- methods for this signals to be sent.
-
- Note also that Django stores signal handlers as weak references by default,
- so if your handler is a local function, it may be garbage collected. To
- prevent this, pass ``weak=False`` when you call the signal's :meth:`~django.dispatch.Signal.connect`.
-
-pre_init
---------
-
-.. attribute:: django.db.models.signals.pre_init
- :module:
-
-.. ^^^^^^^ this :module: hack keeps Sphinx from prepending the module.
-
-Whenever you instantiate a Django model,, this signal is sent at the beginning
-of the model's :meth:`~django.db.models.Model.__init__` method.
-
-Arguments sent with this signal:
-
- ``sender``
- The model class that just had an instance created.
-
- ``args``
- A list of positional arguments passed to
- :meth:`~django.db.models.Model.__init__`:
-
- ``kwargs``
- A dictionary of keyword arguments passed to
- :meth:`~django.db.models.Model.__init__`:.
-
-For example, the :doc:`tutorial </intro/tutorial01>` has this line:
-
-.. code-block:: python
-
- p = Poll(question="What's up?", pub_date=datetime.now())
-
-The arguments sent to a :data:`pre_init` handler would be:
-
- ========== ===============================================================
- Argument Value
- ========== ===============================================================
- ``sender`` ``Poll`` (the class itself)
-
- ``args`` ``[]`` (an empty list because there were no positional
- arguments passed to ``__init__``.)
-
- ``kwargs`` ``{'question': "What's up?", 'pub_date': datetime.now()}``
- ========== ===============================================================
-
-post_init
----------
-
-.. data:: django.db.models.signals.post_init
- :module:
-
-Like pre_init, but this one is sent when the :meth:`~django.db.models.Model.__init__`: method finishes.
-
-Arguments sent with this signal:
-
- ``sender``
- As above: the model class that just had an instance created.
-
- ``instance``
- The actual instance of the model that's just been created.
-
-pre_save
---------
-
-.. data:: django.db.models.signals.pre_save
- :module:
-
-This is sent at the beginning of a model's :meth:`~django.db.models.Model.save`
-method.
-
-Arguments sent with this signal:
-
- ``sender``
- The model class.
-
- ``instance``
- The actual instance being saved.
-
-post_save
----------
-
-.. data:: django.db.models.signals.post_save
- :module:
-
-Like :data:`pre_save`, but sent at the end of the
-:meth:`~django.db.models.Model.save` method.
-
-Arguments sent with this signal:
-
- ``sender``
- The model class.
-
- ``instance``
- The actual instance being saved.
-
- ``created``
- A boolean; ``True`` if a new record was created.
-
-pre_delete
-----------
-
-.. data:: django.db.models.signals.pre_delete
- :module:
-
-Sent at the beginning of a model's :meth:`~django.db.models.Model.delete`
-method.
-
-Arguments sent with this signal:
-
- ``sender``
- The model class.
-
- ``instance``
- The actual instance being deleted.
-
-post_delete
------------
-
-.. data:: django.db.models.signals.post_delete
- :module:
-
-Like :data:`pre_delete`, but sent at the end of the
-:meth:`~django.db.models.Model.delete` method.
-
-Arguments sent with this signal:
-
- ``sender``
- The model class.
-
- ``instance``
- The actual instance being deleted.
-
- Note that the object will no longer be in the database, so be very
- careful what you do with this instance.
-
-m2m_changed
------------
-
-.. data:: django.db.models.signals.m2m_changed
- :module:
-
-.. versionadded:: 1.2
-
-Sent when a :class:`ManyToManyField` is changed on a model instance.
-Strictly speaking, this is not a model signal since it is sent by the
-:class:`ManyToManyField`, but since it complements the
-:data:`pre_save`/:data:`post_save` and :data:`pre_delete`/:data:`post_delete`
-when it comes to tracking changes to models, it is included here.
-
-Arguments sent with this signal:
-
- ``sender``
- The intermediate model class describing the :class:`ManyToManyField`.
- This class is automatically created when a many-to-many field is
- defined; you can access it using the ``through`` attribute on the
- many-to-many field.
-
- ``instance``
- The instance whose many-to-many relation is updated. This can be an
- instance of the ``sender``, or of the class the :class:`ManyToManyField`
- is related to.
-
- ``action``
- A string indicating the type of update that is done on the relation.
- This can be one of the following:
-
- ``"pre_add"``
- Sent *before* one or more objects are added to the relation
- ``"post_add"``
- Sent *after* one or more objects are added to the relation
- ``"pre_remove"``
- Sent *after* one or more objects are removed from the relation
- ``"post_remove"``
- Sent *after* one or more objects are removed from the relation
- ``"pre_clear"``
- Sent *before* the relation is cleared
- ``"post_clear"``
- Sent *after* the relation is cleared
-
- ``reverse``
- Indicates which side of the relation is updated (i.e., if it is the
- forward or reverse relation that is being modified).
-
- ``model``
- The class of the objects that are added to, removed from or cleared
- from the relation.
-
- ``pk_set``
- For the ``pre_add``, ``post_add``, ``pre_remove`` and ``post_remove``
- actions, this is a list of primary key values that have been added to
- or removed from the relation.
-
- For the ``pre_clear`` and ``post_clear`` actions, this is ``None``.
-
-For example, if a ``Pizza`` can have multiple ``Topping`` objects, modeled
-like this:
-
-.. code-block:: python
-
- class Topping(models.Model):
- # ...
-
- class Pizza(models.Model):
- # ...
- toppings = models.ManyToManyField(Topping)
-
-If we would do something like this:
-
-.. code-block:: python
-
- >>> p = Pizza.object.create(...)
- >>> t = Topping.objects.create(...)
- >>> p.toppings.add(t)
-
-the arguments sent to a :data:`m2m_changed` handler would be:
-
- ============== ============================================================
- Argument Value
- ============== ============================================================
- ``sender`` ``Pizza.toppings.through`` (the intermediate m2m class)
-
- ``instance`` ``p`` (the ``Pizza`` instance being modified)
-
- ``action`` ``"pre_add"`` (followed by a separate signal with ``"post_add"``)
-
- ``reverse`` ``False`` (``Pizza`` contains the :class:`ManyToManyField`,
- so this call modifies the forward relation)
-
- ``model`` ``Topping`` (the class of the objects added to the
- ``Pizza``)
-
- ``pk_set`` ``[t.id]`` (since only ``Topping t`` was added to the relation)
- ============== ============================================================
-
-And if we would then do something like this:
-
-.. code-block:: python
-
- >>> t.pizza_set.remove(p)
-
-the arguments sent to a :data:`m2m_changed` handler would be:
-
- ============== ============================================================
- Argument Value
- ============== ============================================================
- ``sender`` ``Pizza.toppings.through`` (the intermediate m2m class)
-
- ``instance`` ``t`` (the ``Topping`` instance being modified)
-
- ``action`` ``"pre_remove"`` (followed by a separate signal with ``"post_remove"``)
-
- ``reverse`` ``True`` (``Pizza`` contains the :class:`ManyToManyField`,
- so this call modifies the reverse relation)
-
- ``model`` ``Pizza`` (the class of the objects removed from the
- ``Topping``)
-
- ``pk_set`` ``[p.id]`` (since only ``Pizza p`` was removed from the
- relation)
- ============== ============================================================
-
-class_prepared
---------------
-
-.. data:: django.db.models.signals.class_prepared
- :module:
-
-Sent whenever a model class has been "prepared" -- that is, once model has
-been defined and registered with Django's model system. Django uses this
-signal internally; it's not generally used in third-party applications.
-
-Arguments that are sent with this signal:
-
-``sender``
- The model class which was just prepared.
-
-Management signals
-==================
-
-Signals sent by :doc:`django-admin </ref/django-admin>`.
-
-post_syncdb
------------
-
-.. data:: django.db.models.signals.post_syncdb
- :module:
-
-Sent by :djadmin:`syncdb` after it installs an application.
-
-Any handlers that listen to this signal need to be written in a particular
-place: a ``management`` module in one of your :setting:`INSTALLED_APPS`. If
-handlers are registered anywhere else they may not be loaded by
-:djadmin:`syncdb`.
-
-Arguments sent with this signal:
-
- ``sender``
- The ``models`` module that was just installed. That is, if
- :djadmin:`syncdb` just installed an app called ``"foo.bar.myapp"``,
- ``sender`` will be the ``foo.bar.myapp.models`` module.
-
- ``app``
- Same as ``sender``.
-
- ``created_models``
- A list of the model classes from any app which :djadmin:`syncdb` has
- created so far.
-
- ``verbosity``
- Indicates how much information manage.py is printing on screen. See
- the :djadminopt:`--verbosity` flag for details.
-
- Functions which listen for :data:`post_syncdb` should adjust what they
- output to the screen based on the value of this argument.
-
- ``interactive``
- If ``interactive`` is ``True``, it's safe to prompt the user to input
- things on the command line. If ``interactive`` is ``False``, functions
- which listen for this signal should not try to prompt for anything.
-
- For example, the :mod:`django.contrib.auth` app only prompts to create a
- superuser when ``interactive`` is ``True``.
-
-Request/response signals
-========================
-
-.. module:: django.core.signals
- :synopsis: Core signals sent by the request/response system.
-
-Signals sent by the core framework when processing a request.
-
-request_started
----------------
-
-.. data:: django.core.signals.request_started
- :module:
-
-Sent when Django begins processing an HTTP request.
-
-Arguments sent with this signal:
-
- ``sender``
- The handler class -- i.e.
- :class:`django.core.handlers.modpython.ModPythonHandler` or
- :class:`django.core.handlers.wsgi.WsgiHandler` -- that handled
- the request.
-
-request_finished
-----------------
-
-.. data:: django.core.signals.request_finished
- :module:
-
-Sent when Django finishes processing an HTTP request.
-
-Arguments sent with this signal:
-
- ``sender``
- The handler class, as above.
-
-got_request_exception
----------------------
-
-.. data:: django.core.signals.got_request_exception
- :module:
-
-This signal is sent whenever Django encounters an exception while processing an incoming HTTP request.
-
-Arguments sent with this signal:
-
- ``sender``
- The handler class, as above.
-
- ``request``
- The :class:`~django.http.HttpRequest` object.
-
-Test signals
-============
-
-.. module:: django.test.signals
- :synopsis: Signals sent during testing.
-
-Signals only sent when :doc:`running tests </topics/testing>`.
-
-template_rendered
------------------
-
-.. data:: django.test.signals.template_rendered
- :module:
-
-Sent when the test system renders a template. This signal is not emitted during
-normal operation of a Django server -- it is only available during testing.
-
-Arguments sent with this signal:
-
- sender
- The :class:`~django.template.Template` object which was rendered.
-
- template
- Same as sender
-
- context
- The :class:`~django.template.Context` with which the template was
- rendered.
-
-Database Wrappers
-=================
-
-.. module:: django.db.backends
- :synopsis: Core signals sent by the database wrapper.
-
-Signals sent by the database wrapper when a database connection is
-initiated.
-
-connection_created
-------------------
-
-.. data:: django.db.backends.signals.connection_created
- :module:
-
-.. versionadded:: 1.1
-
-.. versionchanged:: 1.2
- The connection argument was added
-
-Sent when the database wrapper makes the initial connection to the
-database. This is particularly useful if you'd like to send any post
-connection commands to the SQL backend.
-
-Arguments sent with this signal:
-
- sender
- The database wrapper class -- i.e.
- :class: `django.db.backends.postgresql_psycopg2.DatabaseWrapper` or
- :class: `django.db.backends.mysql.DatabaseWrapper`, etc.
-
- connection
- The database connection that was opened. This can be used in a
- multiple-database configuration to differentiate connection signals
- from different databases.