如何在 Django 中创建用户和组迁移?

How to create users and groups migrations in Django?

所以我在 Django 中使用 Django Rest Framework 构建了一个 API,现在我想向其添加基于角色的访问控制。为此,我找到了 django-rest-framework-roles extension。我已经安装了它,但我不太熟悉 Django 中常用的身份验证系统。它说我需要将设置中的组定义为

ROLE_GROUPS = [group.name.lower() for group in Group.objects.all()]

所以我需要Group模型,当然还有User模型。据我了解,这些是标准模型。但是,我的数据库中没有它们的任何表。所以我需要一个迁移,但我不确定我该怎么做。

我想这应该很容易,但即使在 the relevant pages in the documentation 我也没有看到任何关于如何将这些模型添加到我的 Django 安装的提及。

有没有人能给我讲讲?

django 中的标准 User 模型具有 table 名称 auth_user

标准 Group 型号的 table 名称为 auth_group

数据库 table 本身是在您拥有 运行 启动项目后的第一个迁移脚本后创建的。

这是从命令行完成的:

$ python manage.py migrate

在你的 settings.py 你有这样的东西:

INSTALLED_APPS = [
    ...
    "django.contrib.auth",
    ...
]

该应用程序具有组和用户模型(包括 django 应用程序),因此在配置数据库后您要做的第一件事是使用此命令迁移./manage.py migrate,迁移后您可以使用导入它们,例如这个:from django.contrib.auth.models import User, Group