在DRF中与CamelCase相互转换

时间:2019-08-11 11:50:17

标签: django django-rest-framework django-rest-viewsets

我正在发出一个SOAP post请求,该请求返回CamelCase中的数据。我需要将响应从SOAP请求重构回snake_case。然后我再次收到来自Restful API的蛇形请求,我需要将其转换为CamelCase,然后发送SOAP请求。

我有一个微型序列化器,我编写了该微型序列化器以在两者之间进行转换,即扩展了to_representation方法,然后返回了各自的CamelCase或snake_case,但是我不确定这个微型序列化器是否是一个很好的实现方法,应该也许比序列化程序更有用吗?

这里是序列化程序,将包含名称和attribute_given键的对象列表转换为CamelCase。

class ToCamelCase(serializers.Serializer):
    name = serializers.CharField()
    attribute_given = serializers.CharField()

    def to_representation(self, value):
        data = []
        for x in range(len(value)):
            data.append({
                'Name': value['name'],
                'AttributeGiven': value['attribute_given'],
            })
        return data

我正在寻找解决此问题的最佳方法。是通过扩展to_representation并在序列化程序级别返回自定义键名称来解决此问题的一种好方法,还是我应该为此编写辅助函数?

0 个答案:

没有答案