Skip to content

Commit 705e277

Browse files
committed
Add test case for source with attributes in extra_kwargs
1 parent dd0bb97 commit 705e277

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

tests/test_model_serializer.py

+21
Original file line numberDiff line numberDiff line change
@@ -735,6 +735,27 @@ class Meta:
735735
""")
736736
self.assertEqual(repr(TestSerializer()), expected)
737737

738+
def test_source_with_attributes(self):
739+
class TestSerializer(serializers.ModelSerializer):
740+
class Meta:
741+
model = RelationalModel
742+
fields = ('foreign_key_name', 'one_to_one_name')
743+
extra_kwargs = {
744+
'foreign_key_name': {
745+
'source': 'foreign_key.name',
746+
},
747+
'one_to_one_name': {
748+
'source': 'one_to_one.name',
749+
}
750+
}
751+
752+
expected = dedent("""
753+
TestSerializer():
754+
foreign_key_name = CharField(max_length=100, source='foreign_key.name')
755+
one_to_one_name = CharField(max_length=100, source='one_to_one.name')
756+
""")
757+
self.assertEqual(repr(TestSerializer()), expected)
758+
738759

739760
class DisplayValueTargetModel(models.Model):
740761
name = models.CharField(max_length=100)

0 commit comments

Comments
 (0)