Django pre_save信号:我怎么知道它是插入还是更新

安德烈·路易斯(Andre Luiz)

我正在处理模型的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。

谢谢你的帮助

安德烈·路易斯(Andre Luiz)

在@ 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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django pre_save信号:我怎么知道它是插入还是更新

来自分类Dev

传递参数Django信号-post_save / pre_save

来自分类Dev

Django:将变量从pre_save传递到post_save信号

来自分类Dev

Django更改使用内联时调用pre_save post_save信号的顺序?

来自分类Dev

将 pre_save 信号更改为 post_save?Django

来自分类Dev

Django pre_save信号-异常会导致交易失败吗?

来自分类Dev

如何使用pre_save信号检查django admin中是否选择了新文件?

来自分类Dev

Django pre_save不保存更改

来自分类Dev

我怎么知道实例的属性是否是Django信号中的ImageField?

来自分类Dev

信号 Post_Save 和 Pre_Save 出错:创建和自我!怎么修?

来自分类Dev

Django pre_save signal - would an exception fail the transaction?

来自分类Dev

在Django中使用pre_save时取消保存模型

来自分类Dev

django 的 `save()` 是创建还是更新?

来自分类Dev

Django信号post_save更新

来自分类Dev

何时在Django中使用pre_save,保存,post_save?

来自分类Dev

Django REST框架,pre_save()和serializer.is_valid(),它们如何工作?

来自分类Dev

Django信号post_save()

来自分类Dev

django插入或更新记录

来自分类Dev

Django pre_delete信号被忽略

来自分类Dev

如何触发Django的pre_delete信号?

来自分类Dev

Django在save()方法之后而不是更新之后插入新对象

来自分类Dev

我怎么知道我的服务器上用 django cachalot 缓存了什么?

来自分类Dev

django操作会话(插入,更新等)

来自分类Dev

如何更改pre_save信号中的models.FileField?

来自分类Dev

在pre_save信号中使用PIL调整图像大小

来自分类Dev

通过event.target,我怎么知道它是复选框还是无线电?

来自分类Dev

Chrome上的WebRTC;我怎么知道它是使用UDP还是TCP

来自分类Dev

r中nls的奇异梯度误差; 我怎么知道它是代码还是数据?

来自分类Dev

Django批量更新以触发save()

Related 相关文章

  1. 1

    Django pre_save信号:我怎么知道它是插入还是更新

  2. 2

    传递参数Django信号-post_save / pre_save

  3. 3

    Django:将变量从pre_save传递到post_save信号

  4. 4

    Django更改使用内联时调用pre_save post_save信号的顺序?

  5. 5

    将 pre_save 信号更改为 post_save?Django

  6. 6

    Django pre_save信号-异常会导致交易失败吗?

  7. 7

    如何使用pre_save信号检查django admin中是否选择了新文件?

  8. 8

    Django pre_save不保存更改

  9. 9

    我怎么知道实例的属性是否是Django信号中的ImageField?

  10. 10

    信号 Post_Save 和 Pre_Save 出错:创建和自我!怎么修?

  11. 11

    Django pre_save signal - would an exception fail the transaction?

  12. 12

    在Django中使用pre_save时取消保存模型

  13. 13

    django 的 `save()` 是创建还是更新?

  14. 14

    Django信号post_save更新

  15. 15

    何时在Django中使用pre_save,保存,post_save?

  16. 16

    Django REST框架,pre_save()和serializer.is_valid(),它们如何工作?

  17. 17

    Django信号post_save()

  18. 18

    django插入或更新记录

  19. 19

    Django pre_delete信号被忽略

  20. 20

    如何触发Django的pre_delete信号?

  21. 21

    Django在save()方法之后而不是更新之后插入新对象

  22. 22

    我怎么知道我的服务器上用 django cachalot 缓存了什么?

  23. 23

    django操作会话(插入,更新等)

  24. 24

    如何更改pre_save信号中的models.FileField?

  25. 25

    在pre_save信号中使用PIL调整图像大小

  26. 26

    通过event.target,我怎么知道它是复选框还是无线电?

  27. 27

    Chrome上的WebRTC;我怎么知道它是使用UDP还是TCP

  28. 28

    r中nls的奇异梯度误差; 我怎么知道它是代码还是数据?

  29. 29

    Django批量更新以触发save()

热门标签

归档