[英]Django admin, show only needed models
I'm new to django and I need to show only those models in admin, which have status = 'pending'. 我是django的新手,我只需要在admin中显示状态为'pending'的那些模型。
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)
Override get_queryset()
(for django>=1.6) method of your ModelAdmin
: 重写
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.get_queryset
上的get_queryset
方法返回可以由管理站点编辑的所有模型实例的QuerySet。
class ItemAdmin(admin.ModelAdmin):
def get_queryset(self, request):
qs = super(ItemAdmin, self).get_queryset(request)
return qs.filter(status='pending')
FYI, for django <= 1.5 use queryset()
method instead. 仅供参考,对于Django <= 1.5,请改用
queryset()
方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.