1

除此之外auth_user,我从未使用过auth_group, auth_group_permissions, auth_permission,auth_user_user_permissionsauth_user_user_permissions. 这些模型的具体用途是什么?一个人不需要这些是否常见?如果是这样,摆脱它们的最佳方法是什么(做顺子DROP TABLE或在 django 级别)?删除这些会有不利影响吗?

4

1 回答 1

1

我建议阅读Django 文档中的用户身份验证部分。它将身份验证系统的组件描述为:

  • 用户
  • 权限:指定用户是否可以执行特定任务的二进制(是/否)标志。
  • 组:将标签和权限应用于多个用户的通用方式。

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

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

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

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

于 2012-05-30T20:05:17.537 回答