Получение PK из другой таблицы, не являющейся пользователем - Django REST framework

Мне нужна помощь в решении следующей проблемы. Мне удалось подключить id пользователя к другой таблице, но я не могу воспроизвести тот же процесс при подключении таблицы к первичному ключу другой таблицы. Что я делаю не так?

МОДЕЛЬ

Родительская модель

class TestDataTwo(models.Model):
user = models.OneToOneField("auth.User", related_name="testdatatwo", on_delete=models.CASCADE)
test_name = models.CharField(max_length=1024, null=True, default="N/A")

Дочерняя модель

class TestDataThree(models.Model):
user = models.OneToOneField("auth.User", related_name="testdatathree", on_delete=models.CASCADE)
sdgdata = models.OneToOneField(TestDataTwo, related_name="testdatatwo", on_delete=models.CASCADE, default=-1)
test_name_again = models.CharField(max_length=1024, null=True, default="N/A")

СЕРИАЛИЗАТОР

Родительский сериализатор

class TestDataTwoSerializer(serializers.ModelSerializer):
class Meta:
    model = TestDataTwo
    fields = (
        "id",
        "user_id",
        "test_name",
    )

Детский сериализатор

class TestDataThreeSerializer(serializers.ModelSerializer):
class Meta:
    model = TestDataThree
    fields = (
        "id",
        "user_id",
        "test_name_again",
    )

VIEW

Родительский сериализатор

class TestDataTwoViewSet(ModelViewSet):
queryset = TestDataTwo.objects.all().order_by('id')
serializer_class = TestDataTwoSerializer
paginator = None

# CREATE NEW TESTDATATWO ROW FOR USER
def perform_create(self, serializer):
    serializer.save(user=self.request.user)

# GET ALL ENTRIES OF TESTDATATWO FOR SPECIFIC USER, EXCEPT IF SUPERUSER, THEN RETURN ALL
def get_queryset(self):
    # if self.request.user.is_superuser:
    #     return self.queryset
    # else:
    return self.queryset.filter(user=self.request.user)

# PUT/PATCH
def perform_update(self, serializer):
    serializer.save(user=self.request.user)
    return Response(serializer.data, status=status.HTTP_200_OK)

# DELETE TESTDATATWO ID
def destroy(self, request, *args, **kwargs):
    instance = self.get_object()
    self.perform_destroy(instance)
    return Response(status=status.HTTP_204_NO_CONTENT)

Детский сериализатор

class TestDataThreeViewSet(ModelViewSet):
queryset = TestDataThree.objects.all().order_by('id')
serializer_class = TestDataThreeSerializer
paginator = None

# CREATE NEW TESTDATATHREE ROW FOR USER
def perform_create(self, serializer):
    serializer.save(user=self.request.user)

# GET ALL ENTRIES OF TESTDATATHREE FOR SPECIFIC USER, EXCEPT IF SUPERUSER (THEN RETURN ALL INSTEAD)
def get_queryset(self):
    # if self.request.user.is_superuser:
    #     return self.queryset
    # else:
    return self.queryset.filter(user=self.request.user)

# DELETE TESTDATATHREE ID
def destroy(self, request, *args, **kwargs):
    instance = self.get_object()
    self.perform_destroy(instance)
    return Response("Deleted Successfully", status=status.HTTP_204_NO_CONTENT)

Я предполагаю, что мне нужно изменить что-то в классе views, но не уверен, что именно. Буду признателен за любую помощь.

Пример вывода в Postman:

enter image description here

enter image description here

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