Django管理特定用户的特定数据

时间:2013-05-10 19:10:38

标签: django permissions django-admin

我正在使用django管理站点让人们更轻松地管理数据库。

出于某种原因,我想隐藏某些用户的一些数据。

假设我有一个名为Book的模型,数据库中有很多书。我希望不同的用户有他可以查看的不同书籍范围。

我该怎么做?

我正在考虑许可。是否可以设置过滤数据的权限?

我知道如何根据指定的模型创建权限。但是,在那之后,我该如何使用该权限?我相信我可能需要覆盖BookAdmin类下的“changelist_view”方法的一部分,对吗?

任何帮助都有效。 提前致谢

1 个答案:

答案 0 :(得分:1)

在管理模型上使用queryset方法。类似的东西:

class BookAdmin(admin.ModelAdmin):
    def queryset(self, request):
        return super(BookAdmin, self).queryset(request).filter(owner=request.user)

显然,根据您的图书模型,过滤器会有所不同,但这是一般的想法。