解决这个问题的方法是在APIListView中使用serializer来将ID转换为相应的值。下面是一个示例代码:
首先,创建一个serializer类,用于将ID转换为值:
from rest_framework import serializers
class MyModelSerializer(serializers.ModelSerializer):
value = serializers.CharField(source='get_value_display', read_only=True)
class Meta:
model = MyModel
fields = ('id', 'value')
然后,在APIListView中使用这个serializer类:
from rest_framework.generics import ListAPIView
class MyModelListView(ListAPIView):
serializer_class = MyModelSerializer
queryset = MyModel.objects.all()
现在,当你使用APIListView来获取MyModel列表时,返回的将是值而不是ID。
上一篇:API令牌应该如何传递给函数?