Djangoのpost_saveシグナルを使用して、サイトに新しい記事が追加されるたびにユーザーにメールを送信しています。save()
ただし、作成済みの記事にメソッドを使用すると、ユーザーは引き続き新しいメールを受信します。NEWエントリが追加された場合にのみメールを受信するにはどうすればよいですか?
前もって感謝します
Djangoのpost_saveシグナルを使用して、サイトに新しい記事が追加されるたびにユーザーにメールを送信しています。save()
ただし、作成済みの記事にメソッドを使用すると、ユーザーは引き続き新しいメールを受信します。NEWエントリが追加された場合にのみメールを受信するにはどうすればよいですか?
前もって感謝します
シグナルは、保存されたものが作成されたかどうかを示すpost_save
ブール引数を受け取ります。created
instance
def my_callback(sender, **kwargs):
if kwargs['created']:
print('Instance is new')
https://docs.djangoproject.com/en/dev/ref/signals/#django.db.models.signals.post_saveをご覧ください
実際には、「created:aboolean;新しいレコードが作成された場合はTrue」というシグナルで渡される引数があります。
私は、それでうまくいくはずだと思います。
instance.idを確認することは、インスタンスが「新規」であるかどうかを判断するための優れた方法です。これは、データベースによって自動生成されたIDを使用する場合にのみ機能します。