[解決済み] Django-Rest-Framework のシリアライザーで Request.User を取得する方法とは?
2022-04-15 14:35:13
質問
このようなことをやってみたのですが、うまくいきません。
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
def save(self):
user = self.context['request.user']
title = self.validated_data['title']
article = self.validated_data['article']
Serializerクラスからrequest.userにアクセスできるようにしたいのですが、どうすればよいでしょうか?
どのように解決しますか?
にアクセスすることはできません。
request.user
を直接使用します。リクエストオブジェクトにアクセスし、user属性を取得する必要があります。
こんな感じで。
user = self.context['request'].user
あるいは、より安全にするために
user = None
request = self.context.get("request")
if request and hasattr(request, "user"):
user = request.user
詳細はこちら のコンテキストはこちらをご覧ください。
関連
-
Djangoキャッシュの説明
-
[解決済み] Django REST Framework: ModelSerializerに追加フィールドを追加する
-
[解決済み] Django REST フレームワーク: 非モデルシリアライザー
-
[解決済み] Djangoです。文字列からモデルを取得する?
-
[解決済み] Django で null を許容するユニークなフィールド
-
[解決済み] Docker-Compose使用時にDjangoデータベースのマイグレーションをどのように行うか?
-
[解決済み] django のクラスベースのビューで permission_required デコレータを使用する方法
-
[解決済み] Django の {% url %} テンプレートタグでクエリパラメータを渡すことは可能でしょうか?
-
[解決済み] RESTful API のトークン認証:トークンは定期的に変更する必要がありますか?
-
[解決済み] Djangoテンプレートでネストされたforループで一番外側のforloop.counterにアクセスする方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
オペレーショナルエラーです。1050 解決
-
[解決済み] Django は単一のモデルに対してデータをダンプしますか?
-
[解決済み] Django ManyToMany filter()
-
[解決済み] DjangoのRest Frameworkはcsrfを削除します。
-
[解決済み] Django が ManyToMany リレーションシップからオブジェクトを取り除く
-
[解決済み] django のテンプレートで最初の文字を大文字にする
-
[解決済み] Djangoで複数のfilter()を連鎖させる、これはバグ?
-
[解決済み] django のモデルのクラス名を取得する
-
[解決済み] Django の DoesNotExist 例外はどのようにインポートしますか?
-
[解決済み] ブロック %} に上書きではなく、追加することはできますか?