每当有新文章添加到站点时,我都会使用 Django 的 post_save 信号向用户发送电子邮件。但是,每当我save()
对已创建的文章使用方法时,用户仍然会收到新电子邮件。只有在添加了新条目时才可能收到电子邮件?
提前致谢
每当有新文章添加到站点时,我都会使用 Django 的 post_save 信号向用户发送电子邮件。但是,每当我save()
对已创建的文章使用方法时,用户仍然会收到新电子邮件。只有在添加了新条目时才可能收到电子邮件?
提前致谢
该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: A boolean; True if a new record is created”一起传递。
我认为,这应该可以解决问题。
检查 instance.id 是确定实例是否“新”的好方法。这仅在您使用由数据库自动生成的 id 时才有效。