2010-11-24 9 views
0

Ich habe ein Modellobjekt sagen 'Kategorie'. Ich habe Nutzern erlaubt, einen Kategorieartikel zu posten. Die Kategorie-Modell hat diese:Django wie list_display ein Objekt nach Status in 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.")) 

Jetzt ist mein 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' 

Mein Problem ist, im, dass ich Kategorie Artikel im Admin angezeigt werden soll separat/oder Gruppe über den Status. Beispiel: list_display für Live-Status list_display für für Genehmigungsstatus list_display für Live-Entwürfe Status

Irgendwelche Hinweise?

Antwort

0

Sie könnten Listenfilter in Ihrer Admin-Klasse verwenden. Fügen Sie

list_filter = ('status',) 

zu Ihrer CategoryAdmin Klasse hinzu. Dies sollte Ihnen die Filteroptionen "Alle", "Live", "Entwurf" und "Zur Genehmigung" auf einer Seitenleiste direkt zur Liste der Einträge bieten. Wenn Sie auf eine davon klicken, wird die Liste entsprechend gefiltert. Siehe auch The Django Admin site und suchen Sie nach 'list_filter'.

+0

das ist es! Arbeitete genau. Danke, Aldi. –

Verwandte Themen