まず、私はDjangoの世界では非常に新しく、同様の質問があるかもしれませんが、満足のいく回答は見つかりませんでした。Django:jsonレスポンスからいくつかのフィールドを除外します
ここに私のシナリオですが、私は私のDjangoアプリケーションからヒットし、100鍵のJSON応答を得る外部RESTエンドポイントはほとんどありません。さて、私はDjangoアプリケーションでAPIを書いていますが、このレスポンスはトリムして外の世界に送信する必要があります。今すぐID 1472とユーザープロファイルを与える
GET /api/profiles/1472
は、このAPIは、これにより、次にいくつかの他のRESTエンドポイントを呼び出すと、実際のプロファイルのデータをフェッチします、例えば、 私のAPIがあると言います。ですから、私はプロキシエンドポイントを作成しています。このプロキシエンドポイントは、いくつかのフィールドをトリミングして呼び出し元に戻すことになっています。
私はこのためのモデルクラスを書いていません。
これをDjangoで実現するにはどうすればよいですか?
編集1: サンプルビューは次のようになり、
class GetCompetitorProductsView(APIView):
"""
Get Competitor products view
"""
def post(self, request, format=None):
# I'll be having a list of fields to be trimmed from response.
# It will be separate for every API.
data = request.data
error_checks = system_errors.check_for_competitor_products_input_error(data)
if not error_checks:
response = call_to_rest(data)
return Response(response)
else :
return Response(error_checks, status = status.HTTP_412_PRECONDITION_FAILED)
そしてもう一つは、同じ動作は、他のすべてのAPIに適用されます。ですから、私は他のAPIにも簡単に適用できる汎用的なソリューションが必要です。
これにはモデルは必要ありません。私たちにあなたの意見を表示 –
@SardorbekImomalievがサンプルビューを追加しました。私が言及したように、私は他のAPIにも簡単に適用できる汎用ソリューションが必要です。各API用にトリムするフィールドのリストを用意します。 –