Cómo mover el modelo a la otra sección en el administrador del sitio de Django

¿Es posible mover el modelo predeterminado de Grupos de la sección ‘Autenticación y Autorización’ (en el sitio de administración de Django) a uno personalizado y cómo lograrlo?

Vamos a empezar desde el principio en otras palabras.

Tengo una aplicación muy simple ‘cuentas’ en mi proyecto Django.

El archivo models.py se ve a continuación:

from django.contrib.auth.models import AbstractUser class User(AbstractUser): def __str__(self): return self.email 

archivo 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',) 

Ahora, en el sitio de administración, tengo dos secciones: ‘Cuentas’ y ‘Autenticación y autorización’. La sección ‘Cuentas’ contiene mi tabla ‘Usuarios’ (para el modelo de usuario) y la sección ‘Autenticación y autorización’ contiene la tabla ‘Grupos’ (para el modelo de grupo de autorización predeterminado de Django).

Mi pregunta es: ¿es posible y cómo mover la tabla (modelo) de Grupos a la sección ‘Cuentas’?

Incluso he intentado crear un modelo de ‘Grupo’ personalizado basado en el modelo de grupo de autenticación predeterminado de Django, pero me he quedado atascado en las excepciones de migración.

¿Es posible mover el modelo predeterminado de Grupos de la sección ‘Autenticación y Autorización’ (en el sitio de administración de Django) a uno personalizado y cómo lograrlo?

Si es posible.

1) Puede mover su modelo a la sección auth, solo agregue a su clase:

 class Meta: app_label = 'auth' 

2) Puede mover los modelos de grupo y usuario a la sección de su aplicación, para esa variante debe:

Anular el modelo de usuario y agregarlo a su aplicación

 from django.contrib.auth.models import AbstractUser class CustomUser(AbstractUser): pass 

También necesita agregar a la configuración de su proyecto AUTH_USER_MODEL = 'your_app.CustomUser'

No olvides declarar en admin.py desde tu aplicación:

 class UserAdmin(admin.ModelAdmin): pass admin.site.register(CustomUser, UserAdmin) 

Para el modelo de grupo ponga este código en admin.py:

 from django.db.models.loading import get_models from django.contrib.auth import models models = get_models(models) models[1]._meta.app_label = 'your_app' 

3) Puedes mirar django-admin-tools