首页 文章

如何允许用户查看仅由他添加的数据Django Admin

提问于
浏览
1

我有一个Django应用程序,其中具有受限访问权限的用户在Django admin中注册了一个新帖子 .

此用户只能在表中看到注册,更新和删除他插入的帖子,并且无法查看其他用户输入的帖子,所有这些都在Admin Django中,除非它具有超级用户状态 .

我试图在我的“NoticiaAdmin(admin.ModelAdmin)”类中创建“def queryset”,不幸的是我不知道我做错了什么,我无法解决这个问题 .

这是我的queryset函数...

def queryset(self, request): 
    if request.user.is_superuser: 
        qs = self.model._default_manager.get_query_set() 
    else: 
        qs = self.model._default_manager.get_query_set().filter(user=request.user) 
    ordering = self.ordering or () 
    if ordering: 
        qs = qs.order_by(*ordering)     
    return qs

我希望我澄清了我对这个问题的疑虑,我将非常感谢能帮助我的人 .

1 回答

  • 0

    您可能需要在 ModelAdmin 类中的方法上调用 super() .

    也许尝试这样的事情,

    def get_queryset(self, request):
            qs = super(MyModelAdmin, self).get_queryset(request)
            if request.user.is_superuser:
                return qs
            return qs.filter(user=request.user)
    

相关问题