diff --git a/savepointradio/profiles/admin.py b/savepointradio/profiles/admin.py index e82e60c..2dff160 100644 --- a/savepointradio/profiles/admin.py +++ b/savepointradio/profiles/admin.py @@ -41,11 +41,14 @@ class ProfileAdmin(admin.ModelAdmin): @admin.register(SongRequest) class RequestAdmin(admin.ModelAdmin): # Detail List display - list_display = ('get_user', - 'song', - 'created_date', - 'queued_at', - 'played_at') + list_display = ( + 'get_user', + 'get_game', + 'song', + 'created_date', + 'queued_at', + 'played_at' + ) search_fields = ['song', 'profile'] # Edit Form display @@ -61,8 +64,19 @@ class RequestAdmin(admin.ModelAdmin): verbose_name_plural = 'requests' extra = 0 + def get_queryset(self, request): + return super( + RequestAdmin, self + ).get_queryset(request).select_related('profile__user', 'song__game') + def get_user(self, obj): '''Returns the username from the profile.''' return obj.profile.user get_user.admin_order_field = 'profile' get_user.short_description = 'User Name' + + def get_game(self, obj): + '''Returns the game associated with the song.''' + return obj.song.game + get_game.admin_order_field = 'song__game' + get_game.short_description = 'Game'