2010-11-24 9 views
0

J'ai un objet modèle dit 'Catégorie'. J'ai autorisé les utilisateurs à publier un élément de catégorie. Le modèle Catégorie a celles-ci:Django comment lister_display un objet par statut dans admin

models.py

LIVE_STATUS = 1 
DRAFT_STATUS = 2 
FOR_APPROVAL = 3 

STATUS_CHOICES = (
    (LIVE_STATUS, 'Live'), 
    (DRAFT_STATUS, 'Draft'), 
    (FOR_APPROVAL, 'For Approval'), 
) 


status = models.IntegerField(choices=STATUS_CHOICES, default=FOR_APPROVAL, 
    help_text=_("User posted reviews and categories are subject for approval. \ 
    Only entries with live status will be publicly displayed.")) 

Maintenant im ma admin.py

class CategoryAdmin(admin.ModelAdmin): 
    prepopulated_fields = { 'slug': ['name'] } 
    list_display = ('name','destinations', 'status', 'pub_date',) 
    ordering = ('status', 'pub_date',) 
    date_hierarchy = 'pub_date' 

Mon problème est que je veux afficher les éléments de catégorie dans admin séparément/ou par groupe via le statut. exemple: list_display pour le statut en direct list_display pour obtenir le statut d'approbation list_display pour le statut des projets en direct

Tous les conseils?

Répondre

0

Vous pouvez utiliser des filtres de liste dans votre classe d'administration. Ajouter

list_filter = ('status',) 

à votre classe CategoryAdmin. Cela devrait vous offrir les options de filtre «Tous», «En direct», «Brouillon» et «Pour approbation» sur une barre latérale directement à la liste des entrées. En cliquant sur l'un d'entre eux, la liste sera filtrée en conséquence. Voir aussi The Django Admin site et recherchez 'list_filter'.

+0

c'est tout! Travaillé exactement. Merci aldi. –