除此之外auth_user
,我从未使用过auth_group
, auth_group_permissions
, auth_permission
,auth_user_user_permissions
和auth_user_user_permissions
. 这些模型的具体用途是什么?一个人不需要这些是否常见?如果是这样,摆脱它们的最佳方法是什么(做顺子DROP TABLE
或在 django 级别)?删除这些会有不利影响吗?
问问题
177 次
1 回答
1
我建议阅读Django 文档中的用户身份验证部分。它将身份验证系统的组件描述为:
- 用户
- 权限:指定用户是否可以执行特定任务的二进制(是/否)标志。
- 组:将标签和权限应用于多个用户的通用方式。
权限的最简单用途是控制某个用户可以在Django 管理站点中执行的操作。django.contrib.auth.decorators.permission_required
您还可以使用权限来使用装饰器限制对您自己的视图的访问。
当这与组结合使用时,您可以轻松地将相同的权限分配给整个用户组。
您提到的其他数据库表(auth_group_permissions
等)存储用户与权限或组与权限之间的关系。
虽然您可能没有直接使用身份验证系统的这些部分,但您几乎可以肯定是在使用django.contrib.auth
依赖于它们的其他代码。如果您使用的应用程序不是您编写的(无论它是否是 Django 的一部分),那么删除应用程序创建的数据库表可能是个坏主意。
于 2012-05-30T20:05:17.537 回答