Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.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 Django是否在具有模型的数据库中实现用户权限?_Python_Django_Orm_Django Admin - Fatal编程技术网

Python Django是否在具有模型的数据库中实现用户权限?

Python Django是否在具有模型的数据库中实现用户权限?,python,django,orm,django-admin,Python,Django,Orm,Django Admin,在典型的数据库中,管理员可以分配用户,并可以创建只能由一组特定的用户或组访问的表。还可以在MySQL之类的数据库中创建某些用户可以进行的查询 Django是否提供任何此类功能,或者只是Django管理界面提供了这些功能 我知道管理员可以创建用户并为他们提供使用应用程序模型的权限。是的,您可以这样做 Django在模块Django.contrib.auth.models 您可以从那里导入所有模型,如组、权限和全部 from django.contrib.auth.models import *

在典型的数据库中,管理员可以分配用户,并可以创建只能由一组特定的用户或组访问的表。还可以在MySQL之类的数据库中创建某些用户可以进行的查询

Django是否提供任何此类功能,或者只是Django管理界面提供了这些功能

我知道管理员可以创建用户并为他们提供使用应用程序模型的权限。

是的,您可以这样做

Django在模块
Django.contrib.auth.models

您可以从那里导入所有模型,如组、权限和全部

from django.contrib.auth.models import *
如果您想列出所有django auth模型,您也可以在mysql/或其他数据库中通过前缀auth_*看到它们,例如在mysql中

show tables like "%auth%";

在这些模型上,您可以使用django ORM。

django本身不提供对数据库级用户/组/权限的访问,因为对于所有连接都将与同一数据库用户(在
设置.数据库中定义的用户)建立的典型web应用程序来说,它没有多大意义。请注意,作为web应用程序的标准并不是一个缺点


Django提供的是应用程序级用户/组/权限(cf)。您可以通过管理员访问此应用程序层,当然也可以通过
django.contrib.auth
程序包以编程方式访问此应用程序层。

@vaibav kumar我认为OP询问的是数据库级用户和权限,而不是应用程序级。嘿@brunodesshuilliers,感谢您提供的信息。我的后续问题是关于django如何将模型管理界面中的用户权限转换为数据库级别。我知道它使用对象关系映射将模型转换为数据库中的表。@susheel Django是OSS,因此您可以自己检查如何实现
Django.contrib.auth
。快速回答:这一切都基于用户、组、权限以及它们之间的关系的模型。