models.pyまたはシグナルハンドラでrequest.userにアクセスする方法はありますか?Djangoがmodels.pyまたはシグナルハンドラのユーザにログインしました
私はm2m_changedシグナルを使用していて、models.pyで定義しています。そこにログインしたユーザーにアクセスしたいと思います。
これを行う方法はありますか?
models.pyまたはシグナルハンドラでrequest.userにアクセスする方法はありますか?Djangoがmodels.pyまたはシグナルハンドラのユーザにログインしました
私はm2m_changedシグナルを使用していて、models.pyで定義しています。そこにログインしたユーザーにアクセスしたいと思います。
これを行う方法はありますか?
私は、変更を行っているユーザーがレコード所有者または著者であるとは限りません。つまり、モデルルックアップは役に立たず、このデータをシグナルで渡す必要があります。
これを行うには、現在のユーザーを属性の1つとして持つカスタム信号を作成し、データが保存されているときにビューコードで出力することをお勧めします。
完璧 - 私が必要とするもの - ありがとう! –
実際には、m2m_changedを拡張する方法はありますか?m2m_changedのpost_addに送られる信号が本当に必要ですが、そこにrequest.userへのアクセス権があります。 –
いいえ、すべての場所を変更しない限り、既存の信号は本当に変更できません。それが放出されるコード。あなたができることは、view.userをいくつかのモデル属性にビューコードで割り当て、シグナルハンドラでそれをチェックすることです。別のビューでデータが変更された場合や、ビューレベルがまったくない場合(スクリプト、バックグラウンドタスクなど)には表示されません。 –
この情報は必要ですか?このデータを何らかの方法でモデルレイヤーに渡す必要があり、適切な解決方法はデータの使用方法によって異なります。 –
私は作成中の通知でそれを使用したいと思います。この場合の「アクター」はログインしているユーザーです。 –