From 601ef120c5ad2df9d66a6b9166e81432713a399f Mon Sep 17 00:00:00 2001 From: Ryan Thomson Date: Sun, 4 Dec 2022 21:43:09 -0500 Subject: [PATCH] Add test case for PrimaryKeyRelatedField with UUIDs --- tests/test_model_serializer.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/tests/test_model_serializer.py b/tests/test_model_serializer.py index 419eae632..055ff3cc5 100644 --- a/tests/test_model_serializer.py +++ b/tests/test_model_serializer.py @@ -27,7 +27,7 @@ from django.test import TestCase from rest_framework import serializers from rest_framework.compat import postgres_fields -from .models import NestedForeignKeySource +from .models import NestedForeignKeySource, UUIDForeignKeyTarget def dedent(blocktext): @@ -736,6 +736,25 @@ class TestRelationalFieldMappings(TestCase): self.assertEqual(repr(TestSerializer()), expected) +class UUIDForeignKeyModel(models.Model): + foreign_key = models.ForeignKey(UUIDForeignKeyTarget, related_name='reverse_foreign_key', on_delete=models.CASCADE) + + +class TestUUIDForeignKeyMapping(TestCase): + def test_uuid_pk_relation(self): + class TestSerializer(serializers.ModelSerializer): + class Meta: + model = UUIDForeignKeyModel + fields = '__all__' + + expected = dedent(""" + TestSerializer(): + id = IntegerField(label='ID', read_only=True) + foreign_key = PrimaryKeyRelatedField(pk_field=, queryset=UUIDForeignKeyTarget.objects.all()) + """) + self.assertEqual(repr(TestSerializer()), expected) + + class DisplayValueTargetModel(models.Model): name = models.CharField(max_length=100)