2015-04-21 5 views
3

У меня есть ModelSerializer с SerializerMethodField. Я хочу, чтобы переопределить to_representation метод сериализатором иметь собственный выход, но я не знаю, как получить доступ к SerializerMethodField:django-rest-frame serializer to_representation

class MySerializer(serializers.ModelSerializer): 

    duration = serializers.SerializerMethodField() 

    def get_duration(self, obj): 
     return obj.time * 1000 

    def to_representation(self, instance): 
     return { 
      'name': instance.name, 
      'duration of cycle': # HOW TO ACCESS DURATION???? 
     } 


    class Meta: 
     model = MyModel 

ответ

1

Таким образом, я сделал следующее:

def to_representation(self, instance): 
     rep = super(MySerializer, self).to_representation(instance) 
     duration = rep.pop('duration', '') 
     return { 
      # the rest 
      'duration of cycle': duration, 
     }