django - 我可以在 Django Rest Framework 中使用带空格的字段名称吗?
问题描述
有没有办法将 Django Rest Framewok SerializerFields 的名称重新映射到包含空格的字符串?
我有以下类型的代码:
模型.py:
class Author(models.Model):
author_name = models.CharField()
序列化器.py:
class AuthorSerializer(serializers.ModelSerializer):
class Meta:
model = Author
fields = ["author_name"]
这将返回 JSON,如:
{ "author_name": "William Shakespeare" }
但我希望它返回 JSON,如:
{ "The Author": "William Shakespare" }
我知道我可以使用kwarg为序列化程序字段使用不同source
的名称,但这仍然需要一个有效的 python 名称。我特别想知道是否可以使用带有空格的名称。
谢谢。
解决方案
您可以覆盖to_representation()
序列化程序类中的方法。像这样的东西:
class AuthorSerializer(serializers.ModelSerializer):
class Meta:
model = Author
fields = ["author_name"]
def to_representation(self, obj):
primitive_repr = super(AuthorSerializer, self).to_representation(obj)
primitive_repr['The Author'] = primitive_repr['author_name']
return primitive_repr
推荐阅读
- java - Android studio 3.2.1 未构建新项目和 color.xml 文件
- javascript - Javascript Promise.prototype.then() 排序问题
- c# - Directory.GetFiles 在任何平台上都带有“/”
- java - 从本机后台服务启动屏幕
- linux-kernel - RootFileSystem 与内核更新
- php - 从另一个数组创建一个分组数组
- c# - 更新 ARCore 后 ARCore ApiTrackableTypeExtensions.cs 错误
- docker - 调用时将参数传递给 docker-compose yml
- java - 在 Java/Scala 中以 JSON 格式发送流数据
- ionic-framework - ionic 4 beta 未找到已安装的构建工具