したがって、ForeignKeyによって関連付けられた2つのモデル(テーブル)があります。管理者の編集ページには、最初のモデル(たとえば、ModelOne)と、2番目のモデルの関連インスタンスであるModelTwo(TabularInline)が表示されます。
私が欲しいのは、2番目のモデルが変更されているときにいくつかの追加のアクションを実行することです。ModelTwoのpost_saveシグナルでこれを行うことができます。ただし、post_saveシグナルは、モデルを独自の編集ページ内から(つまり、ModelOneのインライン内ではなく)保存した場合にのみ呼び出されます。
ModelTwoのインラインフォームにpost_saveシグナルを添付する方法はありますか?
...回避策として、ModelTwoにカスタム検証を追加しました。これは、インラインかどうかに関係なく呼び出されます)、必要なメソッドを呼び出します。ただし、この設定から生じる問題は、ModelOneの新しいインスタンスを作成し、同時にModelTwoのインスタンスも作成する場合、2つのテーブルに関連する新しいインスタンスの主キー(外部キー)にアクセスできないことです(まだ保存されていません)。そして、主キーは私が必要とするものです。
また、post_saveシグナルをModelOneに直接追加しようとしましたが(新しいインスタンスのPKを取得できるように)、post_saveシグナルはModelTwoのデータを渡さないようです(とにかく、なぜそうする必要がありますか?)
それで、これに対する解決策は何ですか?インラインモデルは信号を発しますか?保存する前に新しいインスタンスのPKにアクセスする方法はありますか?