gpt4 book ai didi

Django admin -- 限制用户访问

转载 作者:行者123 更新时间:2023-12-04 22:02:00 24 4
gpt4 key购买 nike

我想知道 django 管理页面是否可以用于外部用户。

假设我有这些模型:

class Publisher(models.Model):
admin_user = models.ForeignKey(Admin.User)
..

class Publication(models.Model):
publisher = models.ForeignKey(Publisher)
..

我不确定 admin_user 是什么——也许它可能是管理员用户的电子邮件?

无论如何。有没有办法允许管理员用户只添加/编辑/删除其出版商与该管理员用户关联的出版物?

-谢谢!
-克里斯

最佳答案

如果您在自己的应用程序中需要更细粒度的权限,应该注意 Django 的管理应用程序支持这一点,通过以下方法可以覆盖 ModelAdmin 的子类。请注意,所有这些方法都接收当前的 HttpRequest 对象作为参数,允许根据特定的经过身份验证的用户进行自定义:

  • queryset(self, request):应该返回一个 QuerySet 以在管理员的模型对象列表中使用。不会显示此 QuerySet 中不存在的对象。
  • has_add_permission(self, request):如果允许添加对象,则应返回 True,否则返回 False。
  • has_change_permission(self, request, obj=None):如果允许编辑 obj,则应返回 True,否则返回 False。如果 obj 为 None,则应返回 True 或 False 以指示通常是否允许编辑此类型的对象(例如,如果 False 将被解释为表示不允许当前用户编辑此类型的任何对象)。
  • has_delete_permission(self, request, obj=None):如果允许删除 obj,则应返回 True,否则返回 False。如果 obj 为 None,则应返回 True 或 False 以指示通常是否允许删除此类型的对象(例如,如果 False 将被解释为表示不允许当前用户删除此类型的任何对象)。

  • [django.com]

    关于Django admin -- 限制用户访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1022635/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com