我是DRF的新手,刚刚开始构建API。
我有一个名为购物的模型。 我有两种用户不同的用户类型:客户和供应商。
考虑到上述限制,我应该如何将自定义字段添加到请求的响应中?最好的方法是什么?
答案 0 :(得分:5)
您可以定义distance
ticket #809,然后使用序列化工具context
访问当前用户位置。然后使用当前用户位置和商店位置计算距离。
class ShopSerializer(serializers.ModelSerializer):
distance = serializers.SerializerMethodField()
class Meta:
model = Shop
fields = (.., 'distance')
def get_distance(self, obj):
current_user = self.context['request'].user # access current user
user_location = current_user.location
distance = <compute distance using obj.location and user_location>
return distance