如果满足特定条件,我正在尝试使用django pre_save信号将实例写入db。
我该如何实现? 我有一个由pre_save调用的函数处理程序,如果不满足条件,我想放弃保存实例。
我要中止整个保存链。
pre_save信号是执行此操作的正确方法吗?
答案 0 :(得分:1)
您可以提出例外情况:
@receiver(pre_save, sender=MyModel)
def pre_save_handler(sender, instance, *args, **kwargs):
# your logic
if my_error:
raise Exception('Aborting')
这应该可以,但是请记住,应该在您看来,在表单/序列化器中处理此问题,而不是在信号中处理