Модель django `User` по умолчанию генерирует огромное количество запросов при работе с представлениями в DRF?

Я пытаюсь создать конечную точку для модели по умолчанию User, которая у нас есть в django, которая импортируется из from django.contrib.auth.models import User, Это мой сериализатор:-

class SuperUserDetailSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = (
            'id',
            'username',
            'groups',
            'user_permissions',
            'organization_users',
        )

а мнения выглядят следующим образом:-

class UserDetailView(RetrieveUpdateDestroyAPIView):
    queryset = User.objects.all()
    serializer_class = SuperUserDetailSerializer

При использовании вышеуказанных кодов количество запросов, которые выполняются, составляет 216-219, что связано с полем user_permissions, я проверил модель User, но она не содержит поля user_permissions, но в ответе я получаю это поле, а также в поле html формы заполнены разрешения (DRF Browsable page). Я пытаюсь реализовать prefetch_related или select_related для поля user_permissions, но у меня не получается уменьшить количество запросов, (Он обращается к базе данных каждый раз для получения всех разрешений).

Вот что я пытаюсь сделать, но не могу добиться этого:-

queryset = User.objects.prefetch_related(Prefetch('user_permissions', queryset = Permission.obects.select_related('content_type')))... Я не уверен, где я делаю ошибку.

Вернуться на верх