Verwendung von Pre_delete Signal in django

8

In meiner App möchte ich alle Fragen verfolgen, die gelöscht werden. Und so habe ich eine Klasse (Tabelle) als solche in meiner Modelldatei erstellt.

%Vor%

Wenn ein Benutzer versucht, eine Frage zu löschen Diese Löschfunktion wird aufgerufen:

%Vor%

Mein Zweifel ist, wie kann ich ein pre_delete Signal von django machen, um die neue Tabelle zu füllen, die ich erstellt habe.

~ Neuling versucht hefty Aufgabe ~ Vielen Dank im Voraus:)

    
The Recruit 13.12.2012, 09:42
quelle

1 Antwort

26

Sie beginnen mit der Definition des Empfängers , den Sie verwenden möchten:

%Vor%

Definieren Sie dann Ihren Empfänger-Dekorator:

%Vor%

Fügen Sie es zusammen:

%Vor%

Sie können diese Funktion in Ihre models.py -Datei einfügen, da Sie wissen, dass sie geladen und korrekt verbunden wird.

Das Problem besteht jedoch darin, dass Sie den Benutzer nicht zum Löschen auffordern. Da kann ein delete von der django api (Kommandozeile, Shell, etc) ausgelöst werden, der keine Anfrage zugeordnet ist. Aus diesem Grund sollten Sie die Verwendung von Signalen vermeiden, wenn es absolut wichtig ist, dass Sie den Benutzer zusammen mit dem Löschen speichern.

    
Josh Smeaton 13.12.2012, 10:41
quelle