Django REST Framework を使用して Django モデルをシリアル化しています。オブジェクトを一覧表示する ListCreateAPIView ビューと、個々のオブジェクトを取得/更新/削除する RetrieveUpdateDestroyAPIView ビューがあります。モデルには、ユーザーが自分で送信した情報が保存されます。彼らが送信する情報には、一部の個人情報と一部の公開情報が含まれています。すべてのユーザーが公開情報を一覧表示および取得できるようにしたいのですが、個人情報は所有者だけが一覧表示/取得/更新/削除できるようにしたいです。したがって、オブジェクトのアクセス許可ではなく、フィールドごとのアクセス許可が必要です。
私が見つけた最も近い提案は、リクエストの種類に基づいてシリアライザーを変更するhttps://groups.google.com/forum/#!topic/django-rest-framework/FUd27n_k3U0でした。ユーザーが所有しているかどうかを判断するためのクエリセットまたはオブジェクトをその時点で持っていないため、これは私の状況では機能しません。
もちろん、私はフロントエンドに個人情報を隠していますが、賢い人は API リクエストをスヌープして完全なオブジェクトを取得することができます。コードが必要な場合は提供できますが、私の要求はバニラの Django REST フレームワークの設計に適用されます。