Mercurial > public > madeira
view mysite/band/admin.py @ 28:a404f93a68d3
Decrease by 2 orders of magnitude the number of queries needed to generate the gigs page for the Madeira.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Thu, 31 Mar 2011 00:14:34 +0000 |
parents | e602b5302b94 |
children | 25e00d1b99bf |
line wrap: on
line source
####################################################################### # # PyBand Copyright (C) 2008 by Brian Neal # ####################################################################### from django.contrib import admin from mysite.band.models import Article from mysite.band.models import Album from mysite.band.models import Album_Merchant from mysite.band.models import Album_Track from mysite.band.models import Band from mysite.band.models import City from mysite.band.models import Country from mysite.band.models import Fan from mysite.band.models import Gear from mysite.band.models import Gig from mysite.band.models import Label_Release from mysite.band.models import Member from mysite.band.models import Merchandise from mysite.band.models import Mp3 from mysite.band.models import Mp3_Set from mysite.band.models import News from mysite.band.models import Record_Label from mysite.band.models import SiteConfig from mysite.band.models import State from mysite.band.models import Venue from mysite.band.models import Video from mysite.band.models import Video_Set ####################################################################### admin.site.register(Video) ####################################################################### class SiteConfigAdmin(admin.ModelAdmin): list_display = ('band_name', 'url', 'contact_email') fieldsets = ( (None, { 'fields' : ('band_name', 'url', 'contact_email', 'intro_text', 'ordering_info', 'intro_photo') }), ) admin.site.register(SiteConfig, SiteConfigAdmin) ####################################################################### class GearInline(admin.TabularInline): model = Gear class GearAdmin(admin.ModelAdmin): list_display = ('item', 'member') list_filter = ('member', ) admin.site.register(Gear, GearAdmin) ####################################################################### class MemberAdmin(admin.ModelAdmin): list_display = ('name', 'instrument', 'is_active') inlines = [ GearInline, ] admin.site.register(Member, MemberAdmin) ####################################################################### class CityInline(admin.TabularInline): model = City class CityAdmin(admin.ModelAdmin): list_display = ('name', 'state', 'country') list_filter = ('state', ) search_fields = ('name', ) admin.site.register(City, CityAdmin) ####################################################################### admin.site.register(Country) ####################################################################### class StateAdmin(admin.ModelAdmin): inlines = [ CityInline, ] admin.site.register(State, StateAdmin) ####################################################################### class VenueAdmin(admin.ModelAdmin): list_filter = ('city', ) list_display = ('name', 'city', ) search_fields = ('name', ) admin.site.register(Venue, VenueAdmin) ####################################################################### class BandAdmin(admin.ModelAdmin): search_fields = ('name', ) admin.site.register(Band, BandAdmin) ####################################################################### class GigAdmin(admin.ModelAdmin): list_filter = ('date', 'venue') save_on_top = True filter_horizontal = ('bands', ) admin.site.register(Gig, GigAdmin) ####################################################################### class NewsAdmin(admin.ModelAdmin): save_on_top = True list_filter = ('date', ) list_display = ('date', 'title') search_fields = ('text', 'title') admin.site.register(News, NewsAdmin) ####################################################################### class ArticleAdmin(admin.ModelAdmin): save_on_top = True list_filter = ('date', ) list_display = ('title', 'date') search_fields = ('text', 'title') admin.site.register(Article, ArticleAdmin) ####################################################################### class Mp3Inline(admin.TabularInline): model = Mp3 class Mp3Admin(admin.ModelAdmin): prepopulated_fields = {'slug' : ('title', 'desc')} admin.site.register(Mp3, Mp3Admin) ####################################################################### class Mp3_SetAdmin(admin.ModelAdmin): list_filter = ('date', ) list_display = ('title', 'date') inlines = [ Mp3Inline, ] admin.site.register(Mp3_Set, Mp3_SetAdmin) ####################################################################### class VideoInline(admin.TabularInline): model = Video class Video_SetAdmin(admin.ModelAdmin): list_filter = ('date', ) list_display = ('title', 'date') inlines = [ VideoInline, ] admin.site.register(Video_Set, Video_SetAdmin) ####################################################################### class Album_TrackInline(admin.TabularInline): model = Album_Track class Album_TrackAdmin(admin.ModelAdmin): list_display = ('track_name', 'album') list_filter = ('album', ) admin.site.register(Album_Track, Album_TrackAdmin) ####################################################################### class Label_ReleaseInline(admin.TabularInline): model = Label_Release class Label_ReleaseAdmin(admin.ModelAdmin): list_display = ('catalog_number', 'album', 'record_label', 'release_date') list_filter = ('record_label', 'album') admin.site.register(Label_Release, Label_ReleaseAdmin) ####################################################################### class Record_LabelAdmin(admin.ModelAdmin): inlines = [ Label_ReleaseInline, ] admin.site.register(Record_Label, Record_LabelAdmin) ####################################################################### class Album_MerchantInline(admin.TabularInline): model = Album_Merchant class Album_MerchantAdmin(admin.ModelAdmin): list_display = ('name', 'album') list_filter = ('album', ) admin.site.register(Album_Merchant, Album_MerchantAdmin) ####################################################################### class AlbumAdmin(admin.ModelAdmin): save_on_top = True inlines = [ Album_TrackInline, Label_ReleaseInline, Album_MerchantInline, ] admin.site.register(Album, AlbumAdmin) ####################################################################### class MerchandiseAdmin(admin.ModelAdmin): list_display = ('name', 'price', 'in_stock') list_filter = ('in_stock', ) admin.site.register(Merchandise, MerchandiseAdmin) ####################################################################### class FanAdmin(admin.ModelAdmin): list_display = ('name', 'email', 'current_status') search_fields = ('name', 'email') admin.site.register(Fan, FanAdmin) #######################################################################