Dun*_*der 2 python django django-serializer django-rest-framework
我有以下序列化器类:
class DataLocationSerializer(QueryFieldsMixin, serializers.ModelSerializer):
def create(self, validated_data):
pass
def update(self, instance, validated_data):
pass
class Meta:
model = MeasurementsBasic
fields = ['temp', 'hum', 'pres', 'co', 'no2',
'o3', 'so2']
def to_representation(self, instance):
representation = super().to_representation(instance)
representation['timestamp'] = instance.time_received
return representation
Run Code Online (Sandbox Code Playgroud)
数据以 JSON 文件形式返回,结构如下:
{
"source": "ST",
"stations": [
{
"station": "ST1",
"data": [
{
"temp": -1.0,
"hum": -1.0,
"pres": -1.0,
"co": -1.0,
"no2": -1.0,
"o3": -1.0,
"so2": null,
"timestamp": "2021-07-04T21:00:03"
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能使时间戳出现在序列化器的字段之前?
创建一个新字典:
def to_representation(self, instance):
representation = super().to_representation(instance)
return {'timestamp': instance.time_received, **representation }Run Code Online (Sandbox Code Playgroud)