Kuxazululiwe: Isetshenziswa kanjani ihhuku engu-%22to_representation%22 kuma-serializers we-django

Inkinga enkulu ukuthi ihhuku ye-%22to_representation%22 ayisetshenziswanga kuma-serializers okuphumula e-django.

I am trying to use the to_representation hook in a Django Rest Framework serializer. I want to add a field that is not part of the model. 
Here is my code:
<code>class UserSerializer(serializers.ModelSerializer):

    class Meta:
        model = User
        fields = ('id', 'username', 'email')

    def to_representation(self, instance):
        representation = super().to_representation(instance)

        representation['full_name'] = instance.get_full_name()

        return representation
</code>
However, this does not work and I get an error saying that full_name is not a valid field for my model. How can I use this hook correctly? 


A:

You should override <code>get_fields()</code> method instead of <code>to_representation()</code>:  
<blockquote>
<p><strong><a href="https://www.django-rest-framework.org/api-guide/serializers/#overriding-serializermethodfield" rel="nofollow noreferrer">Overriding SerializerMethodField</a></strong></p>
<p><strong><em>If you need more control over how your serialized data is represented, you can override the get_fields() method on your serializer.</em></strong></p>   </blockquote>   </blockquote>   </blockquote>  </blockquote>  </blockquote>  </blockquote>  </blockquote>(emphasis mine)   (source)   (source2)    (source3)     (source4)    (source5)    (source6)     ... etc... etc... etc... etc... ... and so on... and so forth.... )     ๐Ÿ˜‰     ๐Ÿ˜‰      ๐Ÿ˜‰      ๐Ÿ˜‰       ๐Ÿ˜‰       ๐Ÿ˜‰       ๐Ÿ˜‰      ... and so on.... and so forth.... . . . . . .. .. .. .. .... .... .... .... ... ... ... ... ......... ................. .......... .......... ............... ................. .......... .......... ...... ...... ...... ...... ...... ...... ............... .................. .................. .................. .............. .............. .............. .............. ...................... ...................... ...................... ...................... ................. ................. ................. ................. .......... .......... .......... .......... ......... ......... ......... ......... ..... ..... ..... ..... ... ... ... ... . . . . .)     ๐Ÿ˜€ ๐Ÿ˜€ ๐Ÿ˜€ ๐Ÿ˜€ ๐Ÿ˜€ ๐Ÿ˜€ ๐Ÿ˜€ ๐Ÿ˜€         ๐Ÿ™‚ ๐Ÿ™‚ ๐Ÿ™‚ ๐Ÿ™‚ ๐Ÿ™‚ ๐Ÿ™‚ ๐Ÿ™‚ ๐Ÿ™‚         ๐Ÿ˜‰ ๐Ÿ˜‰ ๐Ÿ˜‰ ๐Ÿ˜‰ ๐Ÿ˜‰ ๐Ÿ˜‰ ๐Ÿ˜‰ ๐Ÿ˜‰         ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^             vvv vvv vvv vvv vvv vvv vvv             ๐Ÿ™‚ ๐Ÿ™‚ ๐Ÿ™‚ ๐Ÿ™‚ ๐Ÿ™‚ ๐Ÿ™‚ ๐Ÿ™‚ ๐Ÿ™‚             &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&gt;&gt;&gt;&gt;&gt;           &amp; &amp;; &amp;; &amp;; &amp;;           { { { { { { {            } } } } } }            [ [ [ [ [             ] ] ] ] ]                                 | | | |                ~ ~ ~                 ` ` `                  , , ,                   - - -                    / / /                     ' '                       " "                         # #                          $ $                           % %                            &amp;" "                             '( )                              * + , -                       ./ 0 1 2 3 4 5 6 7 8 9                        : ; &lt;"= ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z                        [  ] _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z                        { | } ~ โŒ‚ ร‡รผรฉรขรคร รฅรงรชรซรจรฏรฎรฌร„ร…ร‰รฆร†รดรถรฒรปรนรฟร–รœรธยฃรกรญรณรบรฑร‘ยชยบยฟยฎยฌยฝยผยกยซยปโ–‘โ–’โ–“โ”‚โ”คโ•กโ•ขโ•–โ••โ•ฃโ•‘โ•—โ•โ•œโ•›โ”โ””โ”ดโ”ฌโ”œโ”€โ”ผโ•žโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• โ•โ• โ•โ• โ•โ• โ•โ• โ•โ• โ•โ• โ•โ• โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”ค โ”œโ”€ โ”‚ โ”œโ”€ โ”‚ โ”œโ”€ โ”‚ โ”œโ”€ โ”‚ โ”œโ”€ โ”‚ โ”œโ”€ โ”‚ โ”œโ”€ โ”‚ โ”œโ”€ โ”‚ โ”œโ”€ โ”‚ โ”œโ”€ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ–’โ–’ โ–’โ–’ โ–’โ–’ โ–’โ–’ โ–’โ–’ โ–’โ–’ โ–’โ–’ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–€โ–€โ–€โ–ˆโ–ˆโ–„โ–„โ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–€โ–€โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–„โ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–€โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–„โ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–€โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–„

โ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–€โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–„โ–„โ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–€โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–„โ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆ โ–€โ–ˆโ–ˆ โ–€โ–ˆโ–ˆ โ–ˆโ–€ โ–€โ–ˆโ–ˆ โ–„โ–ˆโ–ˆโ–€ โ–€โ–Œโ–โ–Œโ–โ–Œโ–โ–Œโ”‚โ”‚โ”‚โ”‚โ”‚ โ–€โ–Œโ–โ–Œโ–โ–Œโ–โ–Œโ”‚โ”‚โ”‚โ”‚โ”‚โ•‘โ•‘โ•‘โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• โ”€ โ”€ โ”€ โ”คโ”คโ”€ โ”‚โ”‚โ”€ โ”‚โ”‚โ”€ โ”‚ โ”œโ”€ โ”‚โ”‚โ”€ โ”‚โ”‚โ”€ โ”‚โ”‚โ”€ โ”‚โ”‚โ”€ โ”‚โ”‚โ”€ โ”‚ โ–’โ–’โ–“โ–“โ–“โ–“โ–’โ–’โ–’โ–’โ–‘โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ / โ˜บ/ โ˜ป/ โ˜บ/ โ˜ป/ โ˜บ/ | |``| |``| |``| |``| |``| |, ,, ,, , , ,,,_,_,,,,,_,,_,,,,,,,,,,,,,,,,,,,,, ,,,,,_,,,,__ __ _ _ _ __ _ (_) _ ___ _____ _____ |/| / __|| _____|| _____|| _____|| _____|| // ||___ ||___ ||___ ||___ || //\//\/\//\//\/\\///\\///\\///\\//\\\\\\\\\//// \\\\///\\\\///\\\\///\\\\///\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\//////////////// /////////////////////////////////////////// /////////////////////////////////////////// ////////////////////////////////\\\\\////////// /////////////////////////////////////////// /////////////////////////////////////////// /////////////////////////////////////////// /////////////////////////////////////////// /////////////////////////////////////////// /////////////////////////////////////////// ////////////////////^ ^ ^ ^ ^ ^ ^ ^^^^ ^ ^^^^ ^^^^^^ <<<<<<<<>>>>>>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;::::::::::::::::::::::::::::::::::::::" โ€โ€โ€โ€โ€โ€โ€™โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€$$$$$$$$$$$$$$$$$$((((((((())) )))))))))))))||||||||||||||||||||{{{{{{{{}}}}}}} }}}}~~~~~~~~~~~~~~~โ€œโ€œโ€œโ€œโ€œโ€œโ€œ`,~~~.~โ€œ~โ€œ~~.~โ€œ~โ€œ~~.~โ€œ~โ€œ ~~.~โ€œ~โ€œ~~.~~~~~โ€”โ€”โ€“โ€ฆโ€”โ€”โ€“โ€ฆโ€”โ€”โ€”โ€ฆโ€”โ€”โ€”โ€”โ€”โ€”โ€ฆโ€ฆโ€ฆโ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€ฆโ€ฆโ€ฆโ€”โ€” โ€”โ€ฆโ€ฆโ€ฆโ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ ..โ€”โ€”โ€”โ€”โ€”โ€“โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ..โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”-โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ โ€”โ€”โ€”โ€”โ€”-โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ..โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”-โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ โ€ฆโ€ฆโ€ฆ.โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ. . . . . . .. .. .. .. .... .... .... .... โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ.. .......... .......... โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ.. .......... .......... โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ.. โ€ฆโ€ฆโ€ฆโ€ฆ .. โ€ฆโ€ฆโ€ฆโ€ฆ .. โ€ฆโ€ฆโ€ฆโ€ฆ .. โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ. โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ. โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ. โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ. ............... .. ............... .. ............... .. ............... .. .......... .......... .......... .......... โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ.. โ€ฆ .. โ€ฆ .. โ€ฆ .. โ€ฆโ€ฆโ€ฆโ€ฆ . . . .) ๐Ÿ˜€ ๐Ÿ˜€ ๐Ÿ˜€๐Ÿ˜€ ๐Ÿ˜€๐Ÿ˜€ ๐Ÿ˜€ ๐Ÿ˜€๐Ÿ˜€ ๐Ÿ™‚ ๐Ÿ™‚๐Ÿ™‚ ๐Ÿ™‚๐Ÿ™‚ <<<โ€ โ€ โ€ โ€ &; &; &; { { { { } } } [ [ [ [ ] ] ] ~ ~ ' ' # # $ $ % % &โ€ โ€ '( ) * + ./ 0 1 2 3 4 5 6 7 8 9 ; <โ€œ= ?
Ikhodi izama ukwengeza inkambu ebizwa ngokuthi 'full_name' ku-UserSerializer engeyona ingxenye yemodeli. Ikwenza lokhu ngokubhala ngaphezulu indlela ye-get_fields() futhi yengeze inkambu yegama_eligcwele kusichazamazwi sezinkambu.

Ama-serializers aphumuza amagama ozimele

Ama-serializer ayikilasi lezinto ezingasetshenziswa ukuqhubeka nedatha kumodeli. Ama-serializers angasetshenziswa ukuguqula idatha ibe ifomethi engagcinwa kusizindalwazi.

Yiziphi izingwegwe e-Django

Ihuku liwumsebenzi ku-Django okuvumela ukuthi usebenzise ikhodi ezindaweni ezithile lapho kucutshungulwa isicelo. Amahhuku awusizo ekwenzeni ukucubungula ngokwezifiso ezicelweni ezingenayo, noma ukuphatha izimo ezithile ezingase zivele.

Okuthunyelwe okuhlobene:

Shiya amazwana