Я пишу API и хочу вернуть список пользователей вместе с группами, к которым принадлежит каждый пользователь. Я новичок в Django и застрял. Я пробовал несколько способов, но ближе всего к решению я подошел, когда Django возвращал auth.Group.none, когда пользователь находится в группе.
authentication / models.py
class CustomUser(AbstractUser):
role = models.CharField(blank=True, max_length=120)
authentication / views.py
class CustomUserView(APIView):
permission_classes = [IsAuthenticated, IsAdmin, ]
serializer_class = CustomUserSerializer
def get(self, request, format='json'):
queryset = CustomUser.objects.all()
serializer = CustomUserSerializer(queryset, many=True)
filterset_fields = ['id', 'name', 'email', 'groups']
return Response(serializer.data, status=status.HTTP_200_OK)
authentication / serializers.py
class CustomUserSerializer(serializers.ModelSerializer):
email = serializers.CharField(
required=True
)
username = serializers.CharField(required=True)
password = serializers.CharField(min_length=8, write_only=True)
first_name = serializers.CharField()
last_name = serializers.CharField()
groups = serializers.CharField()
role = serializers.CharField()
class Meta:
model = CustomUser
fields = ('id', 'email', 'username', 'first_name', 'last_name', 'password', 'groups', 'role')
extra_kwargs = {'password': {'write_only': True}}
JSON Вывод
{
"id": 4,
"email": "",
"username": "testuser",
"first_name": "",
"last_name": "",
"groups": "auth.Group.None"
}
Любой ввод приветствуется! Заранее спасибо.