使用各种`auth`模型

时间:2012-05-30 19:27:57

标签: django django-models

auth_user以外,我从未使用auth_groupauth_group_permissionsauth_permissionauth_user_user_permissionsauth_user_user_permissions。每种型号的具体用途是什么?人们常常不需要这些吗?如果是这样,那么摆脱它们的最佳方法是什么(做一个直的DROP TABLE或者在django级别)?是否会有消除这些的缺点?

1 个答案:

答案 0 :(得分:1)

我建议您阅读User authentication section in the Django documentation。它将auth系统的组件描述为:

  
      
  • 用户
  •   
  • 权限:二进制(是/否)标志,指定用户是否可以执行某项任务。
  •   
  • 组:向多个用户应用标签和权限的一般方法。
  •   

权限的最简单用法是控制某个用户可以在Django Admin site中执行的操作。您还可以使用权限来限制使用django.contrib.auth.decorators.permission_required装饰器访问您自己的视图。

当与群组结合使用时,您可以轻松地为整组用户分配相同的权限。

您提及的其他数据库表(auth_group_permissions等)存储用户和权限或组和权限之间的关系。

虽然您可能没有直接使用身份验证系统的这些部分,但您几乎肯定会使用依赖于它们的django.contrib.auth中的其他代码。如果你正在使用一个你没有编写的应用程序(无论它是否是Django的一部分),那么删除应用程序创建的数据库表可能是个坏主意。