django - Django授予外键对象权限
问题描述
我有一个Image
带有外键的模型Album
。AUser
可以对 具有编辑或只读权限Album
。Album
具有编辑权限的用户如何Images
在此下进行编辑Album
?
Django中是否有一种简单的方法来授予用户对外键对象的权限?
解决方案
从您的评论中,我了解到您使用 django-guardian。一种选择是定义如下所述的函数(或者可能作为专辑类函数?)
from guardian.shortcuts import assign_perm
def update_album_permission(album, user, permission):
assign_perm(permission + '_album', user, album)
for image in album.images.all():
assign_perm(permission + '_image', user, image)
然后,您需要确保始终通过此界面更新用户权限。
推荐阅读
- ios - 以 CAShapeLayer 的形式分配按钮的形状
- powershell - 如何使用 Powershell 使用 Google 安全浏览 API 查询多个 URL?
- c++ - 为什么 const std::vector 将 const 应用于包含的对象?
- assembly - Pin工具,静态ins地址(INS_Address(ins))和instrumented指令的地址(IARG_INST_PTR)不同
- haproxy - 基于 cookie 名称子串的后端路由
- mysql - SQL查询两列日期之间的日期
- python - 如何反向缩放整个数据框?
- excel - 如何在公式中创建对可变数量列范围的引用?
- node.js - 带有 CSS 和 JS 文件的文件未在服务器上提供并打印 ��U�v�8��+
- python - 在 Python3.8 中,无法在 if 语句中获取要检查的变量