list_display = ('nom', 'resume', 'date_limite',)
list_filter = ('region',)
+class CandidatPieceInline(admin.TabularInline):
+ model = CandidatPiece
+ extra = 1
+
class CandidatAdmin(admin.ModelAdmin):
date_hierarchy = 'date_creation'
list_display = ('nom', 'prenom', 'offre_emploi','statut',)
'fields': ('actif', 'statut', )
}),
)
+ inlines = [
+ CandidatPieceInline,
+ ]
def queryset(self, request):
"""
return qs.select_related('offre_emploi')
class CandidatPieceAdmin(admin.ModelAdmin):
- pass
+ list_display = ('nom', 'candidat', )
+
+ def queryset(self, request):
+ """
+ Spécifie un queryset limité, autrement Django exécute un
+ select_related() sans paramètre, ce qui a pour effet de charger tous
+ les objets FK, sans limite de profondeur. Dès qu'on arrive, dans les
+ modèles de Region, il existe plusieurs boucles, ce qui conduit à la
+ génération d'une requête infinie.
+ """
+ qs = self.model._default_manager.get_query_set()
+ return qs.select_related('candidat')
class EvaluateurAdmin(admin.ModelAdmin):
pass