Не выводятся связанные поля django rest

Осваиваю Django и DRF. Расширил модель пользователя через создание UserModel и связывания с базовой моделью через user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="usermodel")

Столкнулся с проблемой: нужно по запросу получить текущего пользователя и все данные. На данный момент получается вывести или поля стандартной модели User, или новой UserModel, но никак не все вместе.

serialisers.py:

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = '__all__'


class UserProfileSerializer(serializers.ModelSerializer):
    user = serializers.StringRelatedField(read_only=True)

    class Meta:
        model = UserModel
        fields = ('user', 'adress', 'department', 'phoneNumbers')

views.py:

class CurrentUserDetail(generics.RetrieveAPIView):
queryset = User.objects.all().select_related('usermodel')
permission_classes = [IsOwnerProfileOrReadOnly, IsAuthenticated]

def get(self, request):
    serializer = UserProfileSerializer(request.user)
    return Response(serializer.data)

Поля adress, department и phoneNumbers приходят, а поля из User - нет


Ответы (1 шт):

Автор решения: Necko

Попробуй в UserProfileSerializer добавить depth=1 в класс Meta

`class Meta:
    model = UserModel
    fields = ('user', 'adress', 'department', 'phoneNumbers')
    depth = 1`

Или можешь изменить в UserProfileSerializer поле user, чтобы его обрабатывал UserSerializer:

user = UserSerializer(many=False)

→ Ссылка