django rest framework修改接口的输出

如:

class SnippetDetail(generics.RetrieveUpdateDestroyAPIView):
    queryset = toutiao.objects.all()
    serializer_class = ToutiaoSerializer

默认这样是输出与数据库一样的内容,假设输出前,我还要修改下返回的key或value值呢?
怎么写,谢谢了!

阅读 5.5k
3 个回答

在serialize里这样写:

class ClassifySerialize(serializers.ModelSerializer):

class Meta:
    model = Classify
    fields = '__all__'

def to_representation(self, instance):
    ret = super(ClassifySerialize, self).to_representation(instance)

    ret.update({
        'create_at': instance.create_at.strftime('%Y-%m-%d %H:%M:%S')
    })

    return ret

to_representation方法就是把每一列数据(其中instance代表每一列数据)进行修改重组,然后返回,我这个是把数据库中取到的时间格式进行修改再填充回数据中

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题