Django signals **kwargs

578 views
Skip to first unread message

yingi keme

unread,
Jun 27, 2017, 4:14:45 PM6/27/17
to Django users
So i want to know, when using a model signals. The reciever function has **kwargs. What is the content of **kwargs in this reciever function below:

@reciever(post_save, sender=MyModel)
def func(sender, instance, **kwargs):
# some action.

Vijay Khemlani

unread,
Jun 27, 2017, 4:26:01 PM6/27/17
to django...@googlegroups.com
https://docs.djangoproject.com/en/1.11/topics/signals/#receiver-functions

We’ll look at senders a bit later, but right now look at the **kwargs argument. All signals send keyword arguments, and may change those keyword arguments at any time. In the case of request_finished, it’s documented as sending no arguments, which means we might be tempted to write our signal handling as my_callback(sender).

This would be wrong – in fact, Django will throw an error if you do so. That’s because at any point arguments could get added to the signal and your receiver must be able to handle those new arguments.



--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/504e60a9-9ef7-4dc6-a1a8-ab734f250455%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

yingi keme

unread,
Jun 27, 2017, 4:49:15 PM6/27/17
to django...@googlegroups.com
Okk.

But what i am actually asking is, what type of contents does the **kwargs. Give me a typical example of **kwargs in the context of signals. The actual data **kwargs may contain.

Yingi Kem
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.

To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.

Vijay Khemlani

unread,
Jun 27, 2017, 4:54:23 PM6/27/17
to django...@googlegroups.com
Same link


post_save

django.db.models.signals.post_save

Like pre_save, but sent at the end of the 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.
raw
A boolean; True if the model is saved exactly as presented (i.e. when loading a fixture). One should not query/modify other records in the database as the database might not be in a consistent state yet.
using
The database alias being used.
update_fields
The set of fields to update as passed to Model.save(), or None if update_fieldswasn’t passed to save().

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.

yingi keme

unread,
Jun 27, 2017, 5:09:13 PM6/27/17
to django...@googlegroups.com
Okkk..


Thanks Vijay..!!!!

Yingi Kem
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.

To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
Reply all
Reply to author
Forward
0 new messages