我正在处理模型的pre_save信号,但不知道如何检查记录是INSERT还是UPDATE。以下代码(无法正常运行):
@receiver(pre_save, sender=Person)
def pre_save_person(sender, instance, **kwargs):
if not instance.pk:
print 'INSERT !!!!!!'
else:
print 'UPDATE !!!!!!'
你能帮助我吗?该项目使用django 1.8.7。
谢谢你的帮助
在@ knbk注释之后,instance.pk将始终存在。您必须检查数据库中是否存在此instance.pk:
@receiver(pre_save, sender=Person)
def pre_save_person(sender, instance, **kwargs):
num = Person.objects.filter(pk=instance.pk).count()
if num == 0 :
print 'INSERT !!'
else:
print 'UPDATE !!'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句