From d1f93e9c1e2c61bb06a6f99c80bd9437c5081f2d Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Fri, 25 Apr 2014 23:13:58 +0200 Subject: [PATCH] Fixed #22507 -- Clarified nature of the sender argument of signals --- docs/topics/signals.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/topics/signals.txt b/docs/topics/signals.txt index ee6fb847a2..346d47d179 100644 --- a/docs/topics/signals.txt +++ b/docs/topics/signals.txt @@ -235,7 +235,8 @@ For example: This declares a ``pizza_done`` signal that will provide receivers with ``toppings`` and ``size`` arguments. -Remember that you're allowed to change this list of arguments at any time, so getting the API right on the first try isn't necessary. +Remember that you're allowed to change this list of arguments at any time, so +getting the API right on the first try isn't necessary. Sending signals --------------- @@ -246,8 +247,8 @@ There are two ways to send signals in Django. .. method:: Signal.send_robust(sender, **kwargs) To send a signal, call either :meth:`Signal.send` or :meth:`Signal.send_robust`. -You must provide the ``sender`` argument, and may provide as many other keyword -arguments as you like. +You must provide the ``sender`` argument (which is a class most of the time), +and may provide as many other keyword arguments as you like. For example, here's how sending our ``pizza_done`` signal might look: @@ -257,7 +258,7 @@ For example, here's how sending our ``pizza_done`` signal might look: ... def send_pizza(self, toppings, size): - pizza_done.send(sender=self, toppings=toppings, size=size) + pizza_done.send(sender=self.__class__, toppings=toppings, size=size) ... Both ``send()`` and ``send_robust()`` return a list of tuple pairs