繁体   English   中英

对象级别权限django

[英]Object level permissions django

我有一个看起来像这样的模型。

from django.contrib.auth.models import User

class SampleModel(models.Model):
    info1 = models.CharField(max_length = 20)
    info2 = models.CharField(max_length = 20)
    objectAdmin = models.ForeignKey(User)

django默认允许用户访问整个表(如果允许),但是我希望该行中的用户成为唯一有权访问该条目的用户。

因此,当特定用户登录并转到/ admin / myapp / samplemodel / 1 /时,只有他是该条目的“ objectAdmin”,他才应该能够编辑该对象。

根据登录的用户在admin中过滤查询集。

class SampleModelAdmin(admin.ModelAdmin):
    def queryset(self, request):
        qs = super(SampleModelAdmin, self).queryset(request)
        if request.user.is_superuser:
            return qs
        return qs.filter(objectAdmin = request.user)

这将确保用户可以访问被分配为管理员的对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM