from recrutement.models import *
class OffreEmploiAdmin(admin.ModelAdmin):
- pass
+ date_hierarchy = 'date_creation'
+ list_display = ('nom', 'resume', 'date_limite',)
+ list_filter = ('region',)
class CandidatAdmin(admin.ModelAdmin):
- list_display = ('nom', 'prenom', 'offre_emploi', )
+ date_hierarchy = 'date_creation'
+ list_display = ('nom', 'prenom', 'offre_emploi','statut',)
+ fieldsets = (
+ ('Informations personnelles', {
+ 'fields': ('prenom','nom','genre', 'nationalite', 'date_naissance',
+ 'situation_famille', 'nombre_dependant',)
+ }),
+ ('Adresse', {
+ 'fields': ('adresse', 'ville', 'etat_province', 'pays', )
+ }),
+ ('Informations professionnelles', {
+ 'fields': ('offre_emploi','niveau_diplome','employeur_actuel','poste_actuel',
+ 'domaine_professionnel',)
+ }),
+ ('Options avancées', {
+ 'classes': ('collapse',),
+ 'fields': ('actif', 'statut', )
+ }),
+ )
+ 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('offre_emploi')
+
class CandidatPieceAdmin(admin.ModelAdmin):
pass