2017-11-25 7 views
1

iveを2つのモデルに結合しました。 1つのモデルのフィールドに別のモデルの注釈が付けられ、マージできます。しかし、私がデータを返そうとすると、TypeError: object of type 'Response' has no len()が得られます。私はstackoverflowのいくつかの例に従ってきたし、それは動作していないようです。ここでタイプ 'Response'のオブジェクトにDRFのlen()がありません

は私が持っているものです。

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) 

私はそれは私がchained_list

答えて

1

をプリントアウトする場合は、get_querysetからの応答を返しているアイテムを返すとき、それは何のlen()を返さない理由を理解しません。しかし、そのメソッドは名前が示すようにクエリーセットを返すことになっています。

+0

どういう意味ですか?ここに示された 'query_set'を返すのではなく、モデルから返します。 – JamAndJammies

+0

あなたは、そのメソッドからのResponseのインスタンスを返すはずがありません。あなたはクエリーセットを返すことになっています。 –

+0

ありがとう!それは正しい方向に私を指摘した。 – JamAndJammies

関連する問題