使用 Django 时如何在 MongoDB 中使用不同的键名?

How to use different key name in MongoDB while working with Django?

我正在使用 Django 开发微服务,我使用 MongoDB 作为后端。

编写主要代码的人使用 java 因此 MongoDB 集合中已经存在的数据遵循驼峰模式,例如firstName 是键名。

现在,在使用 python 时,我喜欢使用蛇形套管命名我的变量和函数,例如 first_name 和 get_first_name()。

我想要的是在代码中我想在任何地方都将名字称为 first_name 但是 saving/updating 数据库中的名字和 returning JSON 用户数据的响应我想 return 它作为 firstName?

有什么办法可以实现这种行为吗?请帮帮我?

在您的模型字段构造函数中使用 db_column 作为参数,如下所述: https://docs.djangoproject.com/en/4.0/ref/models/fields/#db-column

编辑:关于 API 输出,您有两种可能性,使用序列化器或 .values() 函数。

使用 django-restframework 的序列化器:

from rest_framework import serializers

class CommentSerializer(serializers.Serializer):
    email = serializers.EmailField()
    content = serializers.CharField(max_length=200)
    created = serializers.DateTimeField()

serializer = CommentSerializer(comment)
serializer.data
# {'email': 'leila@example.com', 'content': 'foo bar', 'created': '2016-01-27T15:17:10.375877'}

https://www.django-rest-framework.org/api-guide/serializers/

.values(): Blog.objects.values('id', 'name') 其中参数定义输出键值,https://docs.djangoproject.com/en/4.0/ref/models/querysets/#values