Django管理员,只显示需要的模型

时间:2014-04-03 16:40:56

标签: python django django-models model admin

我是django的新手,我只需要在管理员中显示那些状态='待定'

的模型。
ITEM_STATUSES = (
    ('pending', _('Waiting approval')),
    ('approved', _('Approved')),
    ('declined', _('Declined'))
)

class Item(models.Model):
    title = models.CharField(max_length=64)
    ...
    status = models.CharField(max_length=32, choices=ITEM_STATUSES)
    ...

class ItemAdmin(admin.ModelAdmin):
  pass

admin.site.register(Item, ItemAdmin)

1 个答案:

答案 0 :(得分:4)

覆盖ModelAdmin的{​​{3}}(对于django> = 1.6)方法:

  

ModelAdmin上的get_queryset方法返回所有的QuerySet   可以由管理站点编辑的模型实例。

class ItemAdmin(admin.ModelAdmin):
    def get_queryset(self, request):
        qs = super(ItemAdmin, self).get_queryset(request)
        return qs.filter(status='pending')

仅供参考,对于django< = 1.5,请使用get_queryset()方法。