我想为用户创建一种只能编辑/添加与登录用户相关的对象(公司对象)的方法。
目前所有登录用户都可以编辑所有公司,即使我创建了以下权限:
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)
