Django rest framework custom serialization -


i want convert raw json:

{'code': 1, 'inner': {'x': 1, 'y': 1}} 

to rendered serializer.data:

{'code': 1, 'inner_x': 1, 'inner_y': 1} 

with django rest framework serializer.

which code should placed in serializer?

i think better have same structure in both server , client. can create class x,y members named "inner" , "inner" can foreign key member in original class.

to answer question, can override create function:

class innerserializer(serializers.modelserializer):     class meta:         model = inner         fields = ('x', 'y')   class costumeserializer(serializers.modelserializer):      inner = innerserializer()      class meta:         model = mymodel         fields = ('code', 'inner')      def create(self, validated_data):         inner = validated_data.pop('inner')         return mymodel.objects.create(inner_x=inner.get('x', none), inner_y=inner.get('y', none), **validated_data) 
  • this example code - didn't run it

edit: take here

you can define innerserializer no model this:

from rest_framework import serializers  class commentserializer(serializers.serializer):     email = serializers.emailfield()     content = serializers.charfield(max_length=200)     created = serializers.datetimefield()