类型'响应'的对象在DRF
问题描述:
组合了两个模型中没有len()。一个模型的字段被注释到另一个模型,以便它们可以合并。但是,当我尝试返回数据时,我得到了TypeError: object of type 'Response' has no len()
。我已经在stackoverflow上跟着几个例子,它似乎并没有工作。类型'响应'的对象在DRF
这是我有:
class ExploreAPIView(generics.ListAPIView):
def get_queryset(self):
merged_queryset = Place.get_queryset(self.request.user)
usr_pks = [u.pk for u in merged_queryset]
queryset = Place.objects.filter(pk__in=usr_pks)
serialUser = UserSerializer(User.objects.annotate(time=Extract('date_joined','epoch')), many=True).data[:]
serialPlace = PlacesSerializer(queryset, many=True).data[:]
chained_list = sorted(serialPlace +serialUser, key=lambda x: x.get('time'))
return Response(chained_list)
我不明白为什么它没有返回len()
时,如果我打印出chained_list
答
你返回从get_queryset
一个响应返回的项目。但是该方法应该返回一个查询集,顾名思义。
你是什么意思?它不会返回此处显示的'query_set',而是返回模型。 – JamAndJammies
您不应该从该方法返回Response的实例。你应该返回一个查询集。 –
谢谢!它指出了我正确的方向。 – JamAndJammies