Chr*_*ris 4 django django-admin
我想知道django管理页面是否可以用于外部用户.
假设我有这些模型:
class Publisher(models.Model):
admin_user = models.ForeignKey(Admin.User)
..
class Publication(models.Model):
publisher = models.ForeignKey(Publisher)
..
Run Code Online (Sandbox Code Playgroud)
我不确定admin_user是什么 - 也许它可能是管理员用户的电子邮件?
无论如何.有没有办法允许管理员用户只添加/编辑/删除其发布者与该管理员用户相关联的出版物?
-谢谢!-克里斯
Chr*_*ris 15
如果您需要在自己的应用程序中使用更细粒度的权限,则应注意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将被解释为意味着当前用户不允许删除此类型的任何对象).| 归档时间: |
|
| 查看次数: |
4942 次 |
| 最近记录: |