2012-03-23 20 views
1

Ich möchte überprüfen, ob die Modellattribute make_initial_plan, make_default_plan im Modell als sicher festgelegt werden und wenn ja, alle Attribute in allen anderen Modellinstanzen aufheben. t wissen, wie die Selbst Parameter an den Aufruf übergeben zurückÜbergabe des Selbstparameters an einen Django-Callback

@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) 

Ideen, helfen im Voraus

+0

Der Absender und die Instanz stammen vom LogEntry-Objekt ??? LogEntry-Objekt – PuercoPop

Antwort

4

in Signale gibt es keine self, weil sie nicht Klassenmethoden sind. Sie sollten sender für immer Klasse verwenden, die das Signal und instance für das Objekt sendet selbst (das heißt, das ist, was Sie hier benötigen)

Außerdem glaube ich Ihnen ein sender Argument Anschluss zu signalisieren bieten sollte. In der aktuellen Konfiguration wird Ihr Handler für jedes Django-Modell verwendet.

Verwandte Themen