通常は空の CharField があります。mail_managers
フィールドが空でない値に設定されている場合、すべてのマネージャー (を使用) に電子メール通知を送信したいと考えています。このフィールドへの変更は、管理サイト経由でのみ行う必要があります。
これはシグナルを介して実行できる可能性があると思いましたが、ドキュメントに適切なシグナルがリストされていません。何か案は?
通常は空の CharField があります。mail_managers
フィールドが空でない値に設定されている場合、すべてのマネージャー (を使用) に電子メール通知を送信したいと考えています。このフィールドへの変更は、管理サイト経由でのみ行う必要があります。
これはシグナルを介して実行できる可能性があると思いましたが、ドキュメントに適切なシグナルがリストされていません。何か案は?
フィールドが再び変更された場合に更新が必要ない場合は、フィールドに履歴を追加する必要がありますが、次のようなモデルに保存メソッドを追加するだけで機能するはずです。
django.dbインポートモデルから
class Test(models.Model):
empty_field = models.CharField(max_length=20, blank=True)
def save(self):
if self.pk is not None:
orig = Test.objects.get(pk=self.pk)
if orig.empty_field != self.empty_field and len(self.empty_field) > 0:
mail_managers ...
super(Test, self).save() # Call the "real" save() method
http://www.djangoproject.com/documentation/models/save_delete_hooks/ および Django: When save, how can you check if a field has changed?を参照 してください。