如何为模型中的特定字段创建自定义权限?

时间:2019-05-20 09:48:49

标签: python django

我已经创建了一个模型,并且我想创建一个用户组,该用户组只能编辑该模型的一个字段。

例如,如果我有一个具有某些字段(例如Carmodelbrand)和一个基本用户的registration模型,我希望该用户能够仅更改注册字段。

有可能这样做吗?

1 个答案:

答案 0 :(得分:0)

models.py:

class Model(models.Model):
    class Meta:
        # your custom permissions
        permissions = (
            ('model_can_edit_title', _('Can Edit Title')),
        )

进行迁移并迁移。

admin.py:

def get_readonly_fields(self, request, obj=None):
    # you can check user type. and make decision
    if 'app.model_can_edit_title' in request.user.user.get_all_permissions():
        # user can update all fields
        return []
    # user can't update title field, title will be read only.
    return ['title',]

您可以使用

def get_exclude(self, request, obj=None):

方法也