Django管理面板过滤列表

时间:2015-06-19 12:04:52

标签: django django-forms django-admin django-filter

我有我的django模型:发布

任何帖子都有作者(用户|管理员)

我想在我的Django管理面板中添加帖子管理,但我会在帖子列表中仅显示作者= Admin的帖子。

这可能吗?

1 个答案:

答案 0 :(得分:0)

一般来说,我会说最好为此目的创建一个自定义视图(在网站的公共部分)。但如果您更喜欢使用admin,那么您可以尝试使用get_queryset方法。例如,如果您想向管理员显示所有帖子以及为简单用户显示他们自己的帖子,那么就像这样(从上面的官方文档链接复制):

class PostAdmin(admin.ModelAdmin):
    def get_queryset(self, request):
        qs = super(PostAdmin, self).get_queryset(request)
        if request.user.is_superuser:
            return qs
        return qs.filter(author=request.user)