gpt4 book ai didi

python - 如何处理在 javascript 中生成并在 python DRF 中使用的请求主体 JSON 字段的命名约定差异?

转载 作者:太空宇宙 更新时间:2023-11-04 04:46:23 24 4
gpt4 key购买 nike

我在 Python DRF 中创建 Rest API,并在浏览器的 angularJS 中使用它。我面临的问题是 javascript 和 python 中变量名命名约定的差异。

Javascript使用驼峰命名法命名变量名,而python使用下划线命名法。

因此,当我通过 angularjs 发送请求时,示例请求 JSON 正文具有以下格式:-

user_dtls = {"firstName": "Mangu Singh", "lastName": "Rajpurohit"}

但在 Python 中,它们表示为 first_namelast_name。我正在使用 ModelSerializer,同时根据 field_name 自动读取请求并填充模型字段。

但是,由于请求正文(通过 javascript 发送)和序列化程序中的字段名称不同,我必须编写大量样板代码来进行此转换。

DRF 是否提供任何机制来处理这种情况?处理这种情况的最 pythonic 方法是什么。

提前致谢。

最佳答案

序列化器中有一个source 选项。使用它,您可以通过覆盖它们来重命名模型序列化程序字段。例如

class UserSerializer(serializer.ModelsSerializer):
firstName = serializer.CharField(source="first_name", max_length=100)
lastName = serializer.CharField(source="last_name", max_length=100)

class Meta:
model = User
fields = ('firstName', 'lastName')

关于python - 如何处理在 javascript 中生成并在 python DRF 中使用的请求主体 JSON 字段的命名约定差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49467112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com