Skip to content

Commit aae9080

Browse files
committed
Add test case for PrimaryKeyRelatedField with UUIDs
1 parent ee15731 commit aae9080

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

tests/test_model_serializer.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from rest_framework import serializers
2828
from rest_framework.compat import postgres_fields
2929

30-
from .models import NestedForeignKeySource
30+
from .models import NestedForeignKeySource, UUIDForeignKeyTarget
3131

3232

3333
def dedent(blocktext):
@@ -736,6 +736,25 @@ class Meta:
736736
self.assertEqual(repr(TestSerializer()), expected)
737737

738738

739+
class UUIDForeignKeyModel(models.Model):
740+
foreign_key = models.ForeignKey(UUIDForeignKeyTarget, related_name='reverse_foreign_key', on_delete=models.CASCADE)
741+
742+
743+
class TestUUIDForeignKeyMapping(TestCase):
744+
def test_uuid_pk_relation(self):
745+
class TestSerializer(serializers.ModelSerializer):
746+
class Meta:
747+
model = UUIDForeignKeyModel
748+
fields = '__all__'
749+
750+
expected = dedent("""
751+
TestSerializer():
752+
id = IntegerField(label='ID', read_only=True)
753+
foreign_key = PrimaryKeyRelatedField(pk_field=<django.db.models.fields.UUIDField>, queryset=UUIDForeignKeyTarget.objects.all())
754+
""")
755+
self.assertEqual(repr(TestSerializer()), expected)
756+
757+
739758
class DisplayValueTargetModel(models.Model):
740759
name = models.CharField(max_length=100)
741760

0 commit comments

Comments
 (0)