我正在使用 django-rest-framework - 我想重命名(在列表中)模型序列化程序中的字段并使用我在列表中重命名(更新)的相同名称进行更新。
class ConfiglistSerializer(serializers.ModelSerializer):
class Meta:
model = Config
fields = ('id', 'configname', 'mac_address')
def to_representation(self, obj):
return {
'id': obj.id,
'configname': obj.name,
'macAddress': obj.mac_address
}
如何在 put 或 patch 中使用名称 ("configname", "macAddress") 进行更新?
请您参考如下方法:
对于驼峰式大小写,你必须使用解析器和渲染器:
$ pip install djangorestframework-camel-case
并将渲染器和解析器添加到您的 django 设置文件中。
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'djangorestframework_camel_case.render.CamelCaseJSONRenderer',
# Any other renders
),
'DEFAULT_PARSER_CLASSES': (
'djangorestframework_camel_case.parser.CamelCaseJSONParser',
# Any other parsers
),
}
这样你就可以在序列化器中使用 snake_case,在 API 中使用 camelCase,无需自定义 to_representation 方法
