From ce70269e7bd513e12b671952d6e2755ce8a47536 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Delobelle?= Date: Sat, 8 Apr 2017 17:50:36 +0200 Subject: [PATCH] Fewer requests on create/update spectaclerevente in bda admin. - O(#participant) -> O(1) requests --- bda/admin.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/bda/admin.py b/bda/admin.py index 56c958dc..02eebad5 100644 --- a/bda/admin.py +++ b/bda/admin.py @@ -230,6 +230,24 @@ class SalleAdmin(admin.ModelAdmin): search_fields = ('name', 'address') +class SpectacleReventeAdminForm(forms.ModelForm): + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.fields['answered_mail'].queryset = ( + Participant.objects + .select_related('user', 'tirage') + ) + self.fields['seller'].queryset = ( + Participant.objects + .select_related('user', 'tirage') + ) + self.fields['soldTo'].queryset = ( + Participant.objects + .select_related('user', 'tirage') + ) + + class SpectacleReventeAdmin(admin.ModelAdmin): """ Administration des reventes de spectacles @@ -252,6 +270,7 @@ class SpectacleReventeAdmin(admin.ModelAdmin): actions = ['transfer', 'reinit'] actions_on_bottom = True + form = SpectacleReventeAdminForm def transfer(self, request, queryset): """