django-last-used / last_used / models.py

from django.db import models
from django.contrib.auth.models import User
from django.utils import timezone
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic


class LastUsed(models.Model):
    user = models.ForeignKey(User)
    last_used = models.DateTimeField(default=timezone.now)

    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey('content_type', 'object_id')

    key = models.CharField(max_length=64, blank=True, null=True)

    class Meta:
        ordering = ("-last_used",)

    def __unicode__(self):
        if self.key:
            return u"%s used %s (%s) on %s" % \
                    (self.user, self.content_object, self.key, self.last_used)
        return u"%s used %s on %s" % \
                    (self.user, self.content_object, self.last_used)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.