Django, как list_display объект по статусу в админ - PullRequest
0 голосов
/ 24 ноября 2010

У меня есть модельный объект с именем «Категория».Я позволил пользователям размещать элемент категории.Модель категории имеет следующие параметры:

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."))

Теперь я мой 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'

Моя проблема заключается в том, что я хочу отображать элементы категории вАдмин отдельно / или по группам через статус.пример: list_display для статуса в реальном времени list_display для для статуса подтверждения list_display для статуса в реальном времени

Есть подсказки?

Ответы [ 2 ]

1 голос
/ 24 ноября 2010

Попробуйте использовать фильтры администратора. Вот как это делается: Django Admin - фильтр списка

0 голосов
/ 24 ноября 2010

Вы можете использовать фильтры списка в вашем классе администратора. Добавить

list_filter = ('status',)

в ваш CategoryAdmin класс. Это должно предложить вам опции фильтра «Все», «Жить», «Черновик» и «Для утверждения» на боковой панели справа от списка записей. Нажатие на одну из них отфильтрует список соответствующим образом. Смотрите также Сайт администратора Django и ищите list_filter.

...