Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 解决权限问题的正确方法是什么?_Python_Django - Fatal编程技术网

Python 解决权限问题的正确方法是什么?

Python 解决权限问题的正确方法是什么?,python,django,Python,Django,我添加了一个具有一个权限的新模型,现在我需要在部署代码并为涉及的新应用程序运行syncdb之后,将该权限添加到生产机器上的一些用户。我还没有找到正确的方法。auth文档提到User.User\u permissions.add(permission),但从不告诉我什么是“permission”或获取它的最佳方式。permission(位于django.contrib.auth.models中)是一个数据库对象。通过权限.objects.all(),您将能够看到所有这些对象。它们由每个模型的后期同

我添加了一个具有一个权限的新模型,现在我需要在部署代码并为涉及的新应用程序运行syncdb之后,将该权限添加到生产机器上的一些用户。我还没有找到正确的方法。auth文档提到User.User\u permissions.add(permission),但从不告诉我什么是“permission”或获取它的最佳方式。

permission
(位于
django.contrib.auth.models
中)是一个数据库对象。通过
权限.objects.all()
,您将能够看到所有这些对象。它们由每个模型的后期同步信号自动创建(并且,您也可以定义自己的模型)

要将权限分配给用户,首先必须获取
权限
对象(使用
Permission.objects.get(*args)
),然后可以使用
User.User\u permissions.add(Permission)
将其添加到用户,如您所述


或者,如果你能做到这一点,更简单的方法就是使用Django管理站点。在每个用户的详细信息页面中,都有一个与权限相关的部分。我猜你没有在管理员之外使用这些权限,所以这是它们唯一会影响的领域。如果您想让所有用户都拥有所有权限,您可以通过将每个用户上的
is_superuser
标志设置为
True

使他们成为超级用户,这从技术上来说是对我技术上提出的问题的回答,但我希望还有其他问题。我希望我错过了一些明显的东西,比如添加perm(型号、权限、名称)不,你没有。从技术上讲,您可以查看
User
类中的django/contrib/auth/models.py,以查看
User
实例上的所有方法。