Skip to main content
 首页 » 编程设计

python之如何在django admin中显示与某个用户相关的记录

2024年10月17日43freeliver54

我想为用户创建一种只能编辑/添加与登录用户相关的对象(公司对象)的方法。

目前所有登录用户都可以编辑所有公司,即使我创建了以下权限:

Company | Can Add Company 
Company | Can Change Company 

我可以向 Admin.py 添加什么来限制用户能够编辑/添加与登录用户相关的对象(公司对象)?

请您参考如下方法:

也许 ModelAdmin.get_queryset()可以帮助。您可以使用它对 request.user 对象执行检查。

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