我是 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)
最佳答案
覆盖 get_queryset()
(对于 django>=1.6)你的 ModelAdmin
方法:
The
get_queryset
method on a ModelAdmin returns a QuerySet of all model instances that can be edited by the admin site.
class ItemAdmin(admin.ModelAdmin):
def get_queryset(self, request):
qs = super(ItemAdmin, self).get_queryset(request)
return qs.filter(status='pending')
仅供引用,对于 django <= 1.5 使用 queryset()
方法代替。
关于python - Django admin,只显示需要的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22843875/