File tree 1 file changed +21
-0
lines changed
1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -735,6 +735,27 @@ class Meta:
735
735
""" )
736
736
self .assertEqual (repr (TestSerializer ()), expected )
737
737
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
+
738
759
739
760
class DisplayValueTargetModel (models .Model ):
740
761
name = models .CharField (max_length = 100 )
You can’t perform that action at this time.
0 commit comments