【发布时间】:2015-03-23 03:56:22
【问题描述】:
是否可以将默认组模型从“身份验证和授权”部分(在 Django 管理站点上)移动到自定义模型以及如何实现?
换句话说,让我们从头开始。
我的 Django 项目中有一个非常简单的应用程序“帐户”。
models.py 文件如下所示:
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
def __str__(self):
return self.email
serializers.py 文件:
from rest_framework import serializers
from django.contrib.auth.models import Group
from django.contrib.auth import get_user_model
class GroupSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Group
class UserSerializer(serializers.HyperlinkedModelSerializer):
groups = serializers.HyperlinkedRelatedField(
many=True,
required=False,
read_only=True,
view_name="group-detail"
)
class Meta:
model = get_user_model()
exclude = ('user_permissions',)
现在,在管理站点上,我有两个部分:“帐户”和“身份验证和授权”。 “帐户”部分包含我的“用户”表(用于用户模型),“身份验证和授权”部分包含“组”表(用于 Django 的默认授权组模型)。
我的问题是 - 是否有可能以及如何将组表(模型)移动到“帐户”部分?
我什至尝试基于 Django 的默认身份验证组模型创建自定义“组”模型,但遇到了迁移异常。
【问题讨论】:
-
您要查找的 URL 结构是什么?那么 2 个应用会在 Accounts 下吗?
-
我认为您的要求是在管理站点中显示具有更多功能的用户模型。为此,您需要取消注册 User 模型,然后使用所需字段创建一个 AdminModel,然后再次注册 User 模型。见stackoverflow.com/questions/2552516/…