# -*- encoding: utf-8 -*- from django.db import models from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes import generic from datetime import datetime class Change(models.Model): ACTIOINS = ( ( "add", "object added" ), ( "edit", "object edited" ), ( "delete", "object deleted" ), ) content_type = models.ForeignKey(ContentType, db_index=True) object_id = models.PositiveIntegerField() date = models.DateTimeField( default = datetime.now ) action = models.CharField( max_length = 6, choices = ACTIOINS ) object = generic.GenericForeignKey() class Admin: """Set what's displayed in admin""" list_display = ( 'content_type', 'object_id', 'action', "date" ) def __unicode__(self): return u'%s#%d To action:`%s`, added in %s'%(self.content_type, self.object_id, self.action, self.date)