我想检查模型属性make_initial_plan,make_default_plan是否会在模型中设置为安全,如果是,则取消设置所有其他模型实例上的所有属性,但我不知道如何传递self参数回电话
@receiver(pre_save)
def desactivar_default_o_initial(sender, instance, **kwargs):
if self.make_initial_plan == True:
for item in Plan.objects.all():
item.make_initial_plan = False
item.save(firstTimePass=False)
if self.make_default_plan == True:
for item in Plan.objects.all():
item.make_default_plan = False
item.save(firstTimePass=False)
任何想法,提前帮助
答案 0 :(得分:4)
在信号中没有self
,因为它们不是类方法。您应该使用sender
来获取发送信号的班级,并使用instance
获取对象本身(即这就是您需要的信息)
另外,我认为你应该为信号连接器提供一个sender
参数。在当前设置中,您的处理程序将用于任何django模型。