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

问题描述

因此,我已经在Django Rest Framework中使用Django构建了一个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模型具有表名auth_user

标准Group模型的表名称为auth_group

启动项目后运行第一个迁移脚本后,就会创建数据库表本身。

这是通过命令行完成的:

$ python manage.py migrate

,

在您的settings.py中,您会看到以下内容:

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

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