awmath / django-bulk-signals

signals for usage with django bulk queryset methods

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GitHub version PyPI version

Testing CodeFactor codecov

Summary

This django library adds signals for the bulk database actions provided by django (bulk_create, bulk_update and QuerySet.update)

usage

Add app to settings

INSTALLED_APPS = [
    ...,
    bulk_signals,
    ...
]

Import signals and connect.The signals are connected the same way as in Django itself. To see them in action use the following snippet:

from django.dispatch import receiver
from bulk_signals import signals

@receiver(signals.pre_bulk_update, signals.post_bulk_update, signals.post_query_update)
def debug(*args, **kwargs):
    print(args)
    print(kwargs)

You can skip the signals on a single execution by using the skip_signal=True keyword argument. Which keyword should be used for skipping is configurable via the BULK_SIGNALS_SKIP_KEY="skip_signal" configuration in the django settings.

TODO

  • test against different database backends

About

signals for usage with django bulk queryset methods

License:MIT License


Languages

Language:Python 95.9%Language:Dockerfile 4.1%