【发布时间】:2021-02-10 08:48:43
【问题描述】:
我正在尝试将 Django Rest Framework(DRF) 的序列化程序与带有一些 PostgreSQL 字段的 Djnago 模型一起使用。我知道通过覆盖序列化程序的to_representation() 方法,可以更改传出(序列化)数据格式。有没有办法在 DRF 序列化器中有多个传出表示?例如,我想要实现的是这样的。
from rest_framework import serializers
class MySerializer(serializers.Serializer):
first_name = serializers.CharField(max_length=20)
last_name = serializers.CharField(max_length=20)
def to_representation_1(self, instance):
return {
'first_name': instance.first_name,
'last_name': instance.last_name
}
def to_representation_2(self, instance):
return {
'firstName': instance.first_name,
'lastName': instance.last_name
}
def to_representation_2(self, instance):
return {
'name': f'{instance.first_name} {instance.last_name}',
}
DRF 有这样的支持吗?如果不是,那么在考虑嵌套序列化程序的可能性的情况下,推荐的实现方式是什么?
【问题讨论】:
标签: python django serialization django-rest-framework