Django Crear un usuario personalizado con Django Rest Framework

Estoy tratando de crear un usuario personalizado con Django Rest Framework. Llegué al punto en el que puedo crear un usuario normal, pero no estoy seguro de cómo extenderlo al modelo de usuario personalizado.

modelos.py:

from django.db import models
from django.contrib.postgres.fields import ArrayField
from django.contrib.auth.models import User


class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    languages = ArrayField(models.CharField(max_length=30, blank=True))

serializers.py:

from rest_framework import serializers
from django.contrib.auth.models import User


class UserSerializer(serializers.ModelSerializer):
    password = serializers.CharField(write_only=True)

    class Meta:
        model = User
        fields = ('first_name', 'last_name', 'email', 'username', 'password')

    def create(self, validated_data, instance=None):
        user = super(UserSerializer, self).create(validated_data)
        user.set_password(validated_data['password'])
        user.save()
        return user

views.py:

@api_view(['POST'])
@permission_classes((AllowAny,))
def create_user(request):
    serialized = UserSerializer(data=request.data)
    if serialized.is_valid():
        serialized.save()
        return Response(serialized.data, status=status.HTTP_201_CREATED)
    else:
        return Response(serialized._errors, status=status.HTTP_400_BAD_REQUEST)

¿Cómo extiendo ellanguages campo a laUserSerializer a donde puede procesarlo? ¿Sería mejor crear unsignal por cada vez que unuser se crea y luego crea unuserprofile ¿automáticamente?

Respuestas a la pregunta(1)

Su respuesta a la pregunta