因此,我使用 Django Rest Framework 在 Django 中构建了一个 API,现在我想向其中添加基于角色的访问控制。为此,我找到了 django-rest-framework-roles 扩展。我已经安装了它,但我不太熟悉 Django 中常用的身份验证系统。它说我需要将设置中的组定义为
ROLE_GROUPS = [group.name.lower() for group in Group.objects.all()]
所以我需要
Group
模型,当然还需要 User
模型。据我了解,这些是标准模型。但是,我的数据库中没有它们的任何表。所以我需要对其进行迁移,但我不确定如何做到这一点。
我想这应该非常简单,但即使在文档中的相关页面我也没有看到任何关于如何将这些模型添加到我的 Django 安装中的提及。
接下来我可以尝试什么?
在你的
settings.py
你有这样的东西:
INSTALLED_APPS = [
...
"django.contrib.auth",
...
]
该应用程序具有组和用户模型(包括 django 应用程序),因此配置数据库后您要做的第一件事就是使用此命令迁移
./manage.py migrate
,迁移后您可以像这样导入它们:from django.contrib.auth.models import User, Group
django 中的标准
User
模型的表名称为 auth_user
。
标准
Group
模型的表名称为 auth_group
。
在启动项目后运行第一个迁移脚本后,数据库表本身就会创建。
这是通过命令行完成的:
$ python manage.py migrate