admin函数get_queryset()
限制一般管理员,不能查询全部数据
admin.py代码
#限制一般管理员,不能查询全部数据
def get_queryset(self,request):
qs = super().get_queryset(request)
if request.user.is_superuser:
return qs
elif request.user.last_name == 'HR' and request.user.first_name:
return qs.filter(site=request.user.first_name)
else:
return None
如果上面方法不行,就试试contain
#限制一般管理员,不能查询全部数据
def get_queryset(self,request):
qs = super().get_queryset(request)
print('request.user.last_name',request.user.last_name)
print('request.user.first_name',request.user.first_name)
if request.user.is_superuser:
return qs
elif request.user.last_name == 'HR' and request.user.first_name:
return qs.filter(site__contains=request.user.first_name)
# return qs.filter(plantid__contains=request.user.first_name)
else:
return None