我在我的数据库中指定了lat,长期为:
...
lat = models.DecimalField(_('Latitude'), max_digits=8, decimal_places=5, null=True, blank=True)
lng = models.DecimalField(_('Longitude'), max_digits=8, decimal_places=5, null=True, blank=True)
...
我希望我的ModalSerialization出现:
{
...
"location": {
"lat": ...,
"long": ...
}
...
}
我如何实现这一目标?
答案 0 :(得分:1)
其中一种方法是您可以在下面的模型中创建属性。
@property
def location_info(self):
return dict(
lat=self.lat,
lng=self.lng
)
然后,您可以在序列化程序中创建一个dict字段,并将source指定为您的属性。由于它是属性,它可以只读字段。
location = serializers.DictField(source='location_info', read_only=True)