Django-操作时发送通知的问题

Django-操作时发送通知的问题,django,Django,当有人推荐他们共享的内容时,我想向用户发送通知。我正在使用django模型更改,问题类似于。因此,在上述情况下,我已经 class Recommendation(ChangesMixin, models.Model): recommend = models.BooleanField(default=None) 然后 @receiver(post_save, sender=Recommendation) def new_recommendation(sender, instance=No

当有人推荐他们共享的内容时,我想向用户发送通知。我正在使用django模型更改,问题类似于。因此,在上述情况下,我已经

class Recommendation(ChangesMixin, models.Model):
    recommend = models.BooleanField(default=None)
然后

@receiver(post_save, sender=Recommendation)
def new_recommendation(sender, instance=None, created=False, **kwargs):

如果用户现在单击“推荐”,则会发送通知。但问题是,如果第一次单击是“不推荐”,它也会被发送。在这种情况下,存储在数据库中的值为False。但通知仍然被发送

如果用户稍后将其建议从True切换为False,或者以相反的方式切换,则只有在True时,才会按应有的方式发送通知。但第一个错误是问题

有人知道为什么会这样吗

编辑:

为了避免前一个_实例的复杂性,我还尝试了以下方法

if created and instance.recommend is True:
    #send notification code
结果是一样的。如果第一个操作为False(并且False肯定保存在数据库中),代码仍然会被执行

如果布尔字段(t/f)为false,则询问它是否为null。由于null的计算结果为false,因此返回true。最好使用一个

类似于布尔字段,但允许NULL作为选项之一。使用此字段,而不是null=True的布尔字段


你能为方法
previous\u instance
添加定义吗?为了进一步简化问题,我删除了previous\u instance语句。我尝试了你的建议,但没有解决问题。我进一步简化了这个问题。
if created and instance.recommend is True:
    #send notification code