annotate gpp/shoutbox/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 |
e1d1a70d312d |
children |
|
rev |
line source |
gremmie@1
|
1 """
|
gremmie@1
|
2 This file contains the automatic admin site definitions for the shoutbox models.
|
gremmie@1
|
3 """
|
gremmie@1
|
4 from django.contrib import admin
|
gremmie@1
|
5 from shoutbox.models import Shout
|
bgneal@13
|
6 from shoutbox.models import ShoutFlag
|
gremmie@1
|
7
|
gremmie@1
|
8 class ShoutAdmin(admin.ModelAdmin):
|
bgneal@151
|
9 list_display = ('__unicode__', 'user', 'shout_date')
|
bgneal@13
|
10 raw_id_fields = ('user', )
|
bgneal@151
|
11 date_hierarchy = 'shout_date'
|
bgneal@151
|
12 exclude = ('html', )
|
bgneal@151
|
13 search_fields = ('shout', 'user__username')
|
bgneal@151
|
14 list_filter = ('shout_date', )
|
bgneal@151
|
15
|
bgneal@13
|
16
|
bgneal@13
|
17 class ShoutFlagAdmin(admin.ModelAdmin):
|
bgneal@151
|
18 list_display = ('__unicode__', 'flag_date', 'shout', 'get_shout_url')
|
bgneal@151
|
19 actions = ('delete_shouts', )
|
bgneal@151
|
20
|
bgneal@151
|
21 def delete_shouts(self, request, qs):
|
bgneal@151
|
22 """
|
bgneal@151
|
23 Admin action function to delete the shouts associated with the shout
|
bgneal@151
|
24 flags.
|
bgneal@151
|
25 """
|
bgneal@151
|
26 for flag in qs:
|
bgneal@151
|
27 flag.shout.delete() # will delete the flag too
|
bgneal@151
|
28
|
bgneal@151
|
29 delete_shouts.short_description = "Delete selected flags & shouts"
|
bgneal@13
|
30
|
gremmie@1
|
31
|
gremmie@1
|
32 admin.site.register(Shout, ShoutAdmin)
|
bgneal@13
|
33 admin.site.register(ShoutFlag, ShoutFlagAdmin)
|
bgneal@13
|
34
|