我想为用户创建一种只能编辑/添加与登录用户相关的对象(公司对象)的方法。
目前,即使我创建了以下权限,所有登录用户都可以编辑所有公司:
Company | Can Add Company
Company | Can Change Company
我可以添加哪些内容来限制用户能够编辑/添加与登录用户相关的对象(公司对象)?
答案 0 :(得分:2)
也许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)