首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何限制对django中特定行的访问

如何限制对django中特定行的访问
EN

Stack Overflow用户
提问于 2012-05-24 20:14:07
回答 2查看 2.2K关注 0票数 2

我使用Django管理工具,我有非常简单的模型。我希望限制对特定用户或特定组的特定密码的访问。我如何为访问“Yes / No /从不”设置3个条件,当用户获得Yes +他的组No时,他可以访问,但是当Yes+永远不能访问时,他就可以访问了。以及如何使它与django-管理-工具权限系统一起工作。

代码语言:javascript
运行
复制
from django.db import models
from passwords.objects.labels.models import Label

class Password(models.Model):
    class Meta:
        db_table = 'passwords'

    name = models.CharField(max_length=32)
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=32)
    labels = models.ManyToManyField(Label)

    def __unicode__(self):
        return self.name
EN

回答 2

Stack Overflow用户

发布于 2012-05-24 20:25:46

无条件地,django只支持类级权限(换句话说,表上的权限)。

虽然对对象级(行级)权限有支持,但是django并没有随它一起实现:

对象级权限 添加了用于在每个对象级别指定权限的基础。虽然核心中没有这方面的实现,但自定义身份验证后端可以提供此实现,并且将由django.contrib.auth.models.User使用。有关更多信息,请参见身份验证文档。

因此,像django-监护人这样的第三方应用程序能够实现这一功能。

票数 1
EN

Stack Overflow用户

发布于 2012-05-24 20:41:15

由于您正在使用管理,所以可以在has_add_permissionhas_change_permissionhas_delete_permission方法上覆盖ModelAdmin。但是,如果不知道您的“是/否/从不”权限是如何附加到用户/组的,我就无法进一步帮助您。

更新

如果您想让它保持愚蠢的简单性,最好的方法就是简单地创建一个组,例如"PasswordAccess“。然后,将您想要的任何用户分配给该组,并且只将Password的默认添加、更改和删除权限分配给该组。

不需要其他任何东西。添加到该组中的任何用户都将自动继承Password的权限,任何其他用户都不会拥有这些权限,因此甚至不会在管理中看到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10744638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档