Skip to main content

A Python library to provide easy old records management for Django models

Reason this release was yanked:

Broken

Project description

Django Old Records

A simple Django app with tools to manage old records of Django models

Install

pip install django-old-records

Add django_old_records to your project's INSTALLED_APPS

Usage

There is a manager that decides if a record is too old based on a date field (created_at by default) and a max_age. Ex.:

from django_old_records import OldRecordsManager
from django.db import models

class Cat(models.Model):

    name = models.CharField()
    created_at = models.DateTimeField(auto_now_add=True)

    max_age = 365 * 20 # 20 years

    old_records = OldRecordsManager()
Cat.old_records.all() # lists all cat records older than 20 years

max_age could be an integer representing days or a python timedelta for a more detailed value. Ex.:

from django_old_records import OldRecordsManager
from django.db import models
from datetime import timedelta

class Cat(models.Model):

    name = models.CharField()
    created_at = models.DateTimeField(auto_now_add=True)

    max_age = timedelta(hours=4, seconds=20)

    old_records = OldRecordsManager()
Cat.old_records.all() # lists all cat records older than 4 hours and 20 seconds

If your model's created_at has a different name you can specify it with the created_at_field attribute. Ex.:

class Cat(models.Model):

    name = models.CharField()
    was_born = models.DateTimeField(auto_now_add=True)

    created_at_field = 'was_born'
    max_age = 365 * 20 # 20 years

    old_records = OldRecordsManager()

There is also a management command that deletes all old records from all models with the old_records manager:

python manage.py delete_old_records

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-old-records-2.0.1.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

django_old_records-2.0.1-py3-none-any.whl (6.5 kB view hashes)

Uploaded 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