Custom list display of model timestamps for Django Admin.
Project description
Show human readable created/modified dates and/or times in the django.contrib.admin changelist for models that track the moment of creation and updates.
Usage
First you will need to have a model that tracks the moment of creation and modification. The barebones example for that is:
from django.db import models class TimestampedItem(models.Model): created = models.DateTimeField('created', auto_now_add=True) modified = models.DateTimeField('modified', auto_now=True)
Or, if you are using django-extensions:
from django_extensions.db.models import TimeStampedModel class TimestampedItem(TimeStampedModel): pass
Now it’s time to register this model with Django’s admin site.
Create a admin class, just like you’d usually do, but make it extend TimestampedAdminMixin as well as any other base admin class you use:
from django.contrib import admin from models import TimestampedItem from admintimestamps import TimestampedAdminMixin class TimestampedAdmin(TimestampedAdminMixin, admin.ModelAdmin): pass admin.site.register(TimestampedItem, TimestampedAdmin)
That’s it!
Configuration
If the names of you timestamp fields aren’t created and modified but for example created_at and modified_at you’ll need to do a tiny bit of configuration in the model admin class:
class TimestampedAdmin(TimestampedAdminMixin, admin.ModelAdmin): timestamp_fields = ('created_at', 'modified_at')
You can also use the timestamp_fields tuple to only show one field by only specifying the field you want to show:
class TimestampedAdmin(TimestampedAdminMixin, admin.ModelAdmin): timestamp_fields = ('modified',)
Changelog for django-admin-timestamps
1.2 (2014-09-29)
Dropped support for Python < 2.6
Dropped support for Django < 1.4
Verified support for up to Django 1.7
Added support for Python 3
1.1.1 (2013-07-01)
Handle None values properly
1.1 (2012-02-21)
Just displaying one timestamp field is now possible.
Proper handling of date fields.
1.0.1 (2011-10-11)
Fixed setup.py to include the compat subpackage
1.0.0 (2011-10-07)
Initial release