Mercurial > public > sg101
view gpp/potd/admin.py @ 552:9e42e6618168
For bitbucket issue #2, tweak the admin settings for the Post model to
reduce slow queries. Define our own queryset() method so we can control the
select_related(), and not have it cascade from post to topics to forums to
categories. Removed 'topic' from list_display because MySQL still sucked with
2 inner joins. Now it seems to be tolerable with only one join to User.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Wed, 25 Jan 2012 20:07:03 -0600 |
parents | 4021ea1045f7 |
children |
line wrap: on
line source
""" This file contains the admin definitions for the POTD application. """ from django.contrib import admin from django.conf import settings from potd.models import Photo from potd.models import Current from potd.models import Sequence IMG_TAG = '<img src="%s" alt="thumbnail" />' class PhotoAdmin(admin.ModelAdmin): fields = ['photo', 'caption', 'description', 'user', 'potd_count'] raw_id_fields = ['user'] list_display = ['__unicode__', 'thumbnail'] actions = ['regen_thumbnail'] search_fields = ['caption', 'description'] class Media: js = settings.GPP_THIRD_PARTY_JS['tiny_mce'] def thumbnail(self, obj): return IMG_TAG % obj.thumb.url thumbnail.allow_tags = True def regen_thumbnail(self, request, qs): """ Regenerates the thumbnail for the selected photos. """ for photo in qs: photo.generate_thumb() photo.save() regen_thumbnail.short_description = "Regenerate thumbs for selected photos" class CurrentAdmin(admin.ModelAdmin): list_display = ('__unicode__', 'thumbnail') raw_id_fields = ('potd', ) def thumbnail(self, obj): return IMG_TAG % obj.potd.thumb.url thumbnail.allow_tags = True admin.site.register(Photo, PhotoAdmin) admin.site.register(Current, CurrentAdmin) admin.site.register(Sequence)