对象级权限djang

2024-05-16 09:18:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个像这样的模型。。你知道吗

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”对象。。你知道吗


Tags: django用户from模型import目的authmodels
1条回答
网友
1楼 · 发布于 2024-05-16 09:18:45

根据登录的用户在admin中筛选queryset。你知道吗

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)

这将确保用户可以访问他被指定为管理员的对象。你知道吗

相关问题 更多 >