3
我有一个可以用longitude
和latitude
参数调用的视图。在Django Rest Framework中动态添加字段generics.ListAPIView
当这些参数被设置时,我想让响应添加序列化中的距离字段。
这是我如何做到这一点:
def get_queryset(self):
latitude = self.request.QUERY_PARAMS.get('latitude', None)
longitude = self.request.QUERY_PARAMS.get('longitude', None)
if latitude and longitude:
center = fromstr('POINT(%s %s)'%(latitude,longitude))
queryset = queryset.distance(center).order_by('distance')
self.serializer_class.distance = serializers.CharField(source='distance')
self.serializer_class.Meta.fields += ('distance',)
return queryset.all()
我想我可以有差异,这样做,有两个独立的serializer_class
。
我想知道如果它会更好,你怎么看?
惠特这些行 'self.serializer_class.distance = serializers.CharField(source ='distance') self.serializer_class.Meta.fields + =('distance',)' – avances123