Django 管理面板过滤器列表

Django administration panel filter list

我有我的 django 模型:Post

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

我想在我的 Django 管理面板中添加 post 的管理,但我会在 Posts 列表中仅显示 posts with author=Admin.

这可能吗?

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

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)