DRF создает сериализатор для вложенных OneToOnefield

У меня есть несколько моделей, в которых есть OnetoOnefield. Вопрос, как я могу обновить их, чтобы создать метод сериализатора, и создать все поля в ModelB и ModelC из ModelA с помощью OnetoOnefield. Если это возможно?

Модели:

class ModelA(models.Model):
    name = models.TextField()
    record = models.OneToOneField(ModelB)

class ModelB(models.Model):
    description = models.TextField()
    link = models.OneToOneField(ModelC)

class ModelC(models.Model):
    name = models.TextField()

Сериализаторы:

class RecordSerializer(ModelSerializer):

link = LinkSerializer()

class Meta:
    model = ModelB
    fields = '__all__'

class TestSerializer(ModelSerializer):
    record = RecordSerializer()

    class Meta:
        model = ModelA
        fields = '__all__'

def create(self, validated_data):
    record_data = validated_data.pop('record')
    record = RecordSerializer.create(RecordSerializer(), validated_data=record_data)
    modelA, created = ModelA.objects.create(record=record)
    return modelA

Вид

class TestViewSet(ListModelMixin,
                        RetrieveModelMixin,
                        CreateModelMixin,
                        GenericViewSet):
    permission_classes = [IsAuthenticated]
    serializer_class = TestSerializer
    queryset = ModelA.objects.all()
Вернуться на верх