PythonとDjangoから始めて、tastypieを使用してRESTfulAPIを作成しています。
認証されたユーザーに基づいてリソースのフィールドを計算する必要があります。リソースのdehydrate_fieldメソッドをオーバーライドする予定ですが、dehydrate_fieldメソッド内で認証されたユーザーを取得する方法がわかりません。
tastypieのApiKeyAuthenticationを使用しており、現在URLのクエリ文字列で認証パラメーターを渡していますが、Authenticationヘッダーでも認証パラメーターを渡せるようにしたいと思います。
クエリ文字列またはAuthorizationヘッダーから自分でユーザー名を取得し、それを使用してユーザーを見つけることができるはずですが、すでにどこかでtastypieに実装する必要があるように感じますが、ドキュメント。
サンプルコードは次のとおりです。
class MyModelResource(ModelResource):
calculated_field = fields.BooleanField(readonly=True)
class Meta:
queryset = MyModel.objects.all()
resource_name = 'mymodel'
authentication = ApiKeyAuthentication()
def dehydrate_calculated_field(self, bundle):
user = <get authenticated user somehow>
return <some boolean that's calculated depending on authenticated user>
tastypieに、認証されたユーザーを取得するための組み込み機能があるかどうか、またはクエリ文字列パラメーターまたはヘッダーフィールドに基づいて自分自身をロールする適切な方法があるかどうかを知りたいです。