I have the following serializer class:
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
The data is returned in a JSON file structured like this:
{
"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"
}
]
}
]
}
How can i make it so the timestamp appears before the serializer's fields?
Create a new dictionary:
def to_representation(self, instance):
representation = super().to_representation(instance)
return {'timestamp': instance.time_received, **representation }