django - Rest Framework: HyperlinkedRelatedField, return multiple attributes? -


django rest framework's hyperlinkedrelatedfield used serialize related fields this:

'tracks': [     'http://www.example.com/api/tracks/45/',     'http://www.example.com/api/tracks/46/',     'http://www.example.com/api/tracks/47/' ] 

i'm looking way return multiple attributes, like:

'tracks': [     {'id': 45, 'href': 'http://www.example.com/api/tracks/45/'},     {'id': 46, 'href': 'http://www.example.com/api/tracks/46/'},     {'id': 47, 'href': 'http://www.example.com/api/tracks/47/'} ] 

is there way achieve using drf's standard serializers?

you use nested serializer that. serializers in drf usable fields:

class trackserializer(modelserializer):     class meta:         model = track         fields = ('id', 'href')  class yourmodelserializer(modelserializer):     tracks = trackserializer(many=true) 

you have examples in official documentation, pretty close way.

if want read-write access on tracks field, have override create() , update() on yourmodelserializer. because correct behavior depends on specific application: should update fields of track? should replace associated tracks? if so, should delete associated? if tracks not exist, should create them or return error?

the documentation this thorough.


Comments

Popular posts from this blog

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -