我为我的Django应用程序构建了自定义用户级别,用户级别为:
每个用户级别都可以将内容发送到下一个/上一个(调查员到区域主管,区域主管到枚举和验证,以及仅验证到区域主管)。
用户级别也受城市限制(区域主管只能看到“X”城市中的枚举器提交的内容,同样适用于所有用户级别)。
我的代码问题如截图所示:
Enumerator1可以看到空白行(这是Enumerator2创建的内容),同样适用于Enumerator2。
此外,当内容不在他们的许可中时,Enumerator,Area Supervisor或Verification可以看到所有内容的空白行(例如:例如:枚举者将内容提交给区域主管,枚举者将无法访问该内容直到提交回来)
屏幕截图2:Enumerator2如何查看Enumerator1创建的内容
屏幕截图3:当Enumerator2尝试访问空白行时会发生什么
屏幕截图4:当Enumerator2尝试删除空白行时会发生什么
屏幕截图5:内容如何显示给区域主管,验证(或除创建者之外的任何其他用户级别)
请在此处找到完整的源代码:https://bitbucket.org/azoughbi/cfs/src
如何修复此问题,在用户无权访问时不显示这些空白行?
答案 0 :(得分:1)
覆盖ModelAdmin中的get_queryset()
方法:
class contentAdmin(admin.ModelAdmin):
def get_queryset(self, request):
qs = super(contentAdmin, self).get_queryset()
# Refine your query here, filtering out the unwanted records.
return qs