Skip to main content

A Django Management Command to rename existing Django Applications.

Project description

django-retention-policy

Deletes Django database records according to a retention policy of your choice.

Installation

First of all you need your Django application setup with Celery. With both a worker process and a Celery beat process.

Then proceed to install the package.

pip install django-retention-policy

And setup the periodic Celery task, in your settings.py:

from datetime import timedelta

EIGHT_WEEKS_IN_SECS = 86400 * 7 * 8
CELERY_BEAT_SCHEDULE = {
    'periodic-task_delete_expired_db_records': {
        'task': 'django_retention_policy.task_delete_expired_db_records',
        'schedule': timedelta(hours=12),
        'kwargs': {
            'app_name': 'django_app_name_here',
            'model_name': 'YourDjangoModelNameHere',
            'time_based_column_name': 'timestamp',
            'data_retention_num_seconds': EIGHT_WEEKS_IN_SECS,
        },
    },
}
CELERY_IMPORTS = (
    'django_retention_policy',
)

That's it. Start up your Celery worker, and Celery beat processes and the automatic deletion will take place according to your configuration.

Release History

0.1.1 (2022-08-10)

  • Documentation fixes.

0.1.0 (2022-08-10)

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_retention_policy-0.1.1.tar.gz (10.7 kB view hashes)

Uploaded Source

Built Distribution

django_retention_policy-0.1.1-py2.py3-none-any.whl (6.9 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page