Модель 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')))
... Я не уверен, где я делаю ошибку.