问题描述
因此,我已经在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