問題タブ [django-signals]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
438 参照

python - ジャンゴ信号の接続に関する問題

ダッシュボードを構築するために、django シグナルを使用する履歴テーブルを設定しようとしています。

私の歴史のmodels.pyの中に私は持っています:

ただし、.connect は未解決の参照として表示され続けます。

あ、ちなみにこちらのサイトを参考にシグナルを使い始めました。マーキュリータイド

誰かが以前にこの問題を抱えていましたか、それとも何か不足していますか?

ありがとう、

スティーブ

0 投票する
1 に答える
1729 参照

django - Django post_saveシグナルは、2回目の保存以降にのみトリガーされたようです

post_saveしたがって、最初のモデルが保存されたときに、シグナルトリガー関数を使用して別のモデルのインスタンスを作成しています。

信号をトリガーするモデル:

そして機能:

私の問題は、create_skus毎回post_saveで呼び出す必要があるということですが、2回目以降の保存でしか機能しないようで、ユーザーは製品を2回保存する必要があります。これの起源は何ですか?

編集:これは、これらのM2M関係が追加される方法と関係があると思います(つまりinstance.colors.add(<Color object>)、わかりません。回避策を知っている場合は、永遠にあなたを愛しています。

0 投票する
3 に答える
3829 参照

django - django シグナルの問題のデバッグ

django のシグナルへの接続に問題があります。http://dmitko.ru/?p=546にあるチュートリアルに従って、ユーザー登録を延長しようとしました。

django-registration を正しくセットアップしました。正常に動作しています。デバッグ目的で、次のコードを urls.py に追加しました。

ただし、log_user_created 関数は呼び出されません。

私の質問は、user_registered 信号が飲み込まれている場所を確認するためにアプリをデバッグするにはどうすればよいですか?

注: 私のバージョンの django-registration が正しく動作することを確認しました。上記のブログのサンプルアプリのバージョンにバージョンを切り替えました。観察された動作は変わりませんでした。

0 投票する
1 に答える
649 参照

django - Django 登録プロファイル フィールド

django-registration でユーザーのプロファイルに場所フィールドを追加しようとしています。

次のモデルを追加しました。

これは機能しています-get_profile()データベースにデータを手動で追加すると機能します。しかし、登録時にシグナル経由でプロファイル情報を追加する方法がわかりません。これは私が現在持っているものです:

上記の関数location=USAで信号を使用してadd を追加するにはどうすればよいですか。__init__.py

0 投票する
4 に答える
12847 参照

python - Djangopre_saveシグナルが機能しない

Djangoの「pre_save」シグナルを次の方法でテストしましたが、どちらの方法でもシグナルをキャッチできません。

$

  1. 上記のコードをmanage.pyシェルで実行します。次に、Webサイトを実行して、models.save()が正常に機能することを確認しましたが、コールバック関数が実行されません。

  2. または、シェルで上記のコードを再度実行してから、シェルでmodels.save()を実行します。「保存」は再びうまく機能しますが、それでもコールバック関数には何も起こりません。

  3. 最後に、上記のコードをファイルに埋め込み、__init__.pyWebサイトでsave()関数を実行します。それでも、何も起こりません。

pre_save信号が機能しない理由を理解するのを手伝っていただけませんか。

0 投票する
1 に答える
1924 参照

python - テスト ケース (単体テスト) で、Django の pre_save シグナルをキャッチできない

Django では、pre_save シグナルをキャッチする私のコードはうまく機能します。ただし、tests.py のテストケースでは、シグナル ハンドラは何も受信できません。この問題のヒントはありますか?

  • テストケースとシグナル ハンドラが別のアプリにあるようです。これが問題の原因ですか?
0 投票する
1 に答える
615 参照

django - グループと権限の変更を監視するDjangoシグナルハンドラ?

次のような User モデルにシグナル ハンドラを登録したいと思います。

しかし、シグナル ハンドラーでは、新しいアクセス許可 (グループ メンバーシップの変更によってビュー コードで追加または削除されたもの) に対する "has_perm" のテストが正しく行われません。新しいグループがまだ適用されていないかのようです。

contrib.auth.backends.py で簡単に疑ったのですが、受信インスタンスからこれらの値を削除するようにシグナル ハンドラを拡張しましたが、結果は同じ _group_perm_cacheです。_perm_cache

私が推測できるのは、現在のグループへの変更はこのユーザーには渡されないということだけです。この目的で User オブジェクトにリスナーを登録しようとm2m_changedしましたが、どちらも呼び出されませんでした (おそらく User.groups が ManyToManyField として実装されていないため)。

私が望んでいることを適切に行う方法はありますか?

0 投票する
1 に答える
1953 参照

python - Django:post_deleteシグナルを使用するときに削除するユーザーを特定する

特定のオブジェクトが削除されたときに管理者に通知する必要がありますが、削除を実行しているユーザーも特定したいと思います。

出来ますか?

これはコードです:

0 投票する
1 に答える
368 参照

python - 動的アップロードパス-発信元フィールドを含める

複数のImageFieldを持つDjangoモデルがあり、呼び出し可能オブジェクトを使用してアップロードパスを決定しています。元のアップロードフィールドの名前をアップロードパスに含めたいと思います。この場合はtiny、、、smallまたはmediumですpress

file.name私が考えることができる唯一の方法は、uuidで置き換えるpre_saveレシーバーを作成することでした。次に、upload_to callableは、と比較して一致するものを見つけfilenameます。これを行うためのよりハッキーな方法はありませんか?

pre_save受信者:

0 投票する
1 に答える
855 参照

django - Django通知監視モデル(製品結果の監視)

私はdjango-notification(https://github.com/jtauber/django-notification.git)を使用していますが、ドキュメントは初心者向けに少し簡単です。

検索時に結果がない検索(商品リストのある結果ページ)をユーザーが監視できるようにしたいと考えています。次に、検索に一致するレコードが追加された場合、ユーザーに通知する必要があります。

「observe」の使用方法に関するオンラインの説明が見つかりません。これは、(検索結果に)表示されるレコードを監視するために使用する必要があると思いますか?おそらく、これは間違ったアプローチです(django-notificationを使用)。最初はオブジェクトを含まないフィルター結果の発生を待つためのシグナルが必要だからです...

(プロジェクトは開発が進んでいるため、Pinaxのようなオプションを検討してこのようなもののテンプレートを提供することはできません)


評価する必要があると思います

おそらくcronジョブとして?