如果满足条件,Django将对象保存到数据库

时间:2019-06-23 19:18:48

标签: django

如果满足特定条件,我正在尝试使用django pre_save信号将实例写入db。

我该如何实现? 我有一个由pre_save调用的函数处理程序,如果不满足条件,我想放弃保存实例。

我要中止整个保存链。

pre_save信号是执行此操作的正确方法吗?

1 个答案:

答案 0 :(得分:1)

您可以提出例外情况:

@receiver(pre_save, sender=MyModel)
def pre_save_handler(sender, instance, *args, **kwargs):
    # your logic
    if my_error:
        raise Exception('Aborting')

这应该可以,但是请记住,应该在您看来,在表单/序列化器中处理此问题,而不是在信号中处理