我有两个APIView类和一个ModelSerializer类。APIView类正在使用序列化程序类。有没有办法知道哪个APIView类正在调用序列化程序类? 我需要这2个APIView的单独表示视图
APIView类
class OwnerAllListAPIView(APIView):
def get(self, request, *args, **kwargs):
user = self.request.user
all_list = ListName.objects.filter(owner=user).all()
list_serializer = core_slr.ListNameSerializer(all_list, many=True)
return response('Owner list', list_serializer.data, status.HTTP_200_OK)
class ListNameDetailAPIView(APIView):
def get(self, request, *args, **kwargs):
list_name = ListName.objects.filter(id=self.kwargs.get('list_name_id')).first()
list_serializer = core_slr.ListNameSerializer(list_name)
return response('list name detail view', list_serializer.data, status.HTTP_200_OK)
序列化程序类
class ListNameSerializer(serializers.ModelSerializer):
class Meta:
model = ListName
fields = [
'id', 'owner', 'name'
]
def to_representation(self, instance):
ret = super(ListNameSerializer, self).to_representation(instance)
ret['owner'] = f"{instance.owner.first_name} {instance.owner.last_name}"
ret['total_question'] = QuestionBank.objects.filter(list_name=instance).count()
return ret
在to_表示视图中,我只想知道哪个API正在调用序列化程序
通过访问
Serializer
的上下文,您可以轻松做到这一点,如下所示:相关问题 更多 >
编程相关推荐