mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-06-16 19:43:21 +03:00
Add test case for source with attributes in extra_kwargs
This commit is contained in:
parent
dd0bb97082
commit
705e277896
|
@ -735,6 +735,27 @@ class TestRelationalFieldMappings(TestCase):
|
||||||
""")
|
""")
|
||||||
self.assertEqual(repr(TestSerializer()), expected)
|
self.assertEqual(repr(TestSerializer()), expected)
|
||||||
|
|
||||||
|
def test_source_with_attributes(self):
|
||||||
|
class TestSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = RelationalModel
|
||||||
|
fields = ('foreign_key_name', 'one_to_one_name')
|
||||||
|
extra_kwargs = {
|
||||||
|
'foreign_key_name': {
|
||||||
|
'source': 'foreign_key.name',
|
||||||
|
},
|
||||||
|
'one_to_one_name': {
|
||||||
|
'source': 'one_to_one.name',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
expected = dedent("""
|
||||||
|
TestSerializer():
|
||||||
|
foreign_key_name = CharField(max_length=100, source='foreign_key.name')
|
||||||
|
one_to_one_name = CharField(max_length=100, source='one_to_one.name')
|
||||||
|
""")
|
||||||
|
self.assertEqual(repr(TestSerializer()), expected)
|
||||||
|
|
||||||
|
|
||||||
class DisplayValueTargetModel(models.Model):
|
class DisplayValueTargetModel(models.Model):
|
||||||
name = models.CharField(max_length=100)
|
name = models.CharField(max_length=100)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user