如何解决扩展 Django AbstractUser 时的附加身份验证表
我是 Django 新手,发现了一些我不太明白的东西:我使用自定义字段扩展了 django auth 的默认用户类,如下所示:
class User(AbstractUser):
business_entity = models.ForeignKey('BusinessEntity',on_delete=models.PROTECT)
在设置文件中,我还添加了所需的 AUTH_USER_MODEL = 'core.User'
,因为我的新用户模型位于核心应用程序中。到目前为止工作正常。
在应用所有迁移(即使在擦除数据库并重新应用之后)之后,我还剩下一些我不想创建的附加表,这些表似乎没有被 Django 的 auth 应用程序使用: Tables created after migration
如您所见,来自 auth 应用程序:auth_group、auth_group_permissions 和 auth_permissions 以及来自核心应用程序:core_user_groups、core_user_user_permissions。
我搜索了很长时间 - 也许关键字错误? - 但我无法弄清楚我是否需要所有这些表,尤其是 - 附加核心表的用途。你能解释一下吗?
非常感谢!
解决方法
我很确定那些是 django 用来存储权限的表,你不应该删除它们。例如,当您创建超级用户(管理员)时,django 知道只有他/她可以访问 /admin
页面。这些知识来自存储在这些表中的权限。
如果您不使用这些表,它们可能只占用最少的空间(根据下面的链接,默认情况下只添加了 4 个权限),您不必担心它们。也就是说,根据您的项目,了解如何很好地管理权限会很有帮助。
有关权限的更多信息请参见 here。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。