0

私はWebベースのアプリケーションを構築しています。このアプリケーションではE-mail、テーブルの値を更新または変更した後、登録ユーザーに通知を送信する必要があります。

私はmodel.py

class ProileComment(models.Model):
    comment = models.TextField()
    user = models.CharField(max_length=30, null=False, blank=True)
    timestamp = models.DateTimeField(null=False, blank=True)

の方法views.py

def send_email(request):
   ##

私の問題によると、ProfileCommentモデルが更新される場合は、自動的にsend_emailメソッドが呼び出されます。そのため、ユーザーはデータベースの変更に関する通知を受け取ります。どのように進めればよいですか?

4

1 に答える 1

1

djangoシグナルを使用できます!!

https://docs.djangoproject.com/en/dev/ref/signals/

シグナルリスナーを登録できます。おそらくpre_saveシグナルはあなたのニーズに最も適していますか?アプリのどこかに何かが保存されると、シグナルが呼び出され、モデルやその他の必要な条件に基づいて決定を下すことができます。

または、その1つのモデルに対してのみsend_emailが必要な場合は、saveメソッドをオーバーライドできます。

class ProfileComment(models.Model):


    def save(self, *args, **kwargs):
      # send email?
      super(ProfileComent, self, *args, **kwargs) # make sure to call parent!
于 2012-07-11T19:49:34.037 に答える