【问题标题】:Django admin particular data for particular user特定用户的 Django 管理员特定数据
【发布时间】:2013-05-10 19:10:37
【问题描述】:

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

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

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

我该怎么做?

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

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

任何帮助都会奏效。 在此先感谢

【问题讨论】:

    标签: django permissions django-admin


    【解决方案1】:

    在您的管理模型上使用queryset 方法。比如:

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

    显然,过滤器会根据您的图书型号而有所不同,但这是大体思路。

    【讨论】:

    • 我认为这要容易得多。我会试试看它是否有效。
    • 顺便说一句,我会在完成测试后给出“接受”。这可能需要一段时间。
    猜你喜欢
    • 2011-09-12
    • 1970-01-01
    • 2013-07-01
    • 2016-02-21
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多