Skip to main content

Signals Reference

All built-in signals with their trigger conditions and kwargs.

Lifecycle Signals

SignalWhenKwargs
pre_saveBefore INSERT or UPDATEsender, instance, created
post_saveAfter INSERT or UPDATEsender, instance, created
pre_deleteBefore DELETEsender, instance
post_deleteAfter DELETEsender, instance

Bulk Operation Signals

SignalWhenKwargs
pre_updateBefore bulk .update()sender, queryset, fields
post_updateAfter bulk .update()sender, queryset, updated_count, fields
pre_bulk_deleteBefore bulk .delete()sender, queryset
post_bulk_deleteAfter bulk .delete()sender, queryset, deleted_count

Kwargs Explained

KwargTypeDescription
sendertype[Model]The model class
instanceModelThe model instance being operated on
createdboolTrue for INSERT, False for UPDATE
querysetQuerySetThe queryset being operated on
fieldslist[str]Fields being updated
updated_countintNumber of rows updated
deleted_countintNumber of rows deleted

Usage

from ryx import receiver, post_save

@receiver(post_save, sender=Post)
async def on_post_saved(sender, instance, created, **kwargs):
if created:
print(f"New post: {instance.title}")
else:
print(f"Updated post: {instance.title}")