【问题标题】:Django Grant permission to Foreign key objectsDjango授予外键对象权限
【发布时间】:2019-10-18 09:14:25
【问题描述】:

我有一个Image 模型,其外键指向AlbumUser 可以对 Album 拥有编辑或只读权限。拥有编辑Album权限的用户如何在这个Album下也编辑Images

在 Django 中是否有一种简单的方法来授予用户对外键对象的权限?

【问题讨论】:

  • Django 无论如何都没有行级权限。首先,您如何管理相册的权限?
  • @DanielRoseman 使用django-guardian。它提供对象级权限。

标签: django python-3.x foreign-keys


【解决方案1】:

根据您的评论,我了解到您使用 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)

那么您需要确保始终通过此界面更新用户权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 2015-01-23
    • 1970-01-01
    相关资源
    最近更新 更多