私はDjango restを初めて使い、2つのクエリセットを使用する必要があるレスポンスを返そうとしています: 最初のものは特定のプロジェクト用であり、2番目のものは特定のもの用ですこのプロジェクト内部ユーザ:django rest returnフィルタを組み合わせた結果
serializers.py
class ProjectFiltersSerializer(serializers.ModelSerializer):
class Meta:
model= Project
fields = ('id', 'title','users')
views.py
class FiltersDetail(APIView):
"""
Retrieve filters instance.
"""
def get_project(self, project_pk):
try:
return models.Project.objects.filter(pk=project_pk)
except Snippet.DoesNotExist:
raise Http404
def get_returning_customers(self, project_pk):
return [(u.pk, u"%s %s" % (u.first_name, u.last_name)) for u in User.objects.filter(return=1)]
def get(self, request, project_pk, format=None):
snippet = self.get_project(project_pk) | self.get_returning_customers(project_pk)
serializer = ProjectFiltersSerializer(snippet, many=True)
return Response(serializer.data)
I「は、2つの異なる基本モードでクエリを組み合わせることはできません取得していますls "です。 これは正しい方法ですか?
ありがとうございました
を助け
returning_customers = serializer.ListField(source='get_returning_customers')
・ホープと呼ばれる、あなたのコード – e4c5
をフォーマットしてくださいすることができますが、両者を組み合わせるしようとしているようですが見えます同じタイプを返さない '|'を使ってクエリを実行します。 'User'と他の' Project'インスタンスを返します。 –