Ich habe ein Pre-Safe-Signal für eines meiner Modelle. Dieses Pre-Saves-Signal führt einige Hintergrund-API-Aktivitäten aus, um neue und aktualisierte Objekte an Dienstanbieter zu syndizieren und bedeutungslose Daten zurückzugeben, die wir als Referenzen an den Stellen der ursprünglichen Daten speichern.Django Pre-Speichern Signal
Die neuen und Update-Methoden unterscheiden sich in der API.
Im Idealfall würden Benutzer, die ein Update durchführen, die bedeutungslosen Daten aus einem Feld löschen und darüber tippen. Mein Signal müsste wissen, welche Felder aktualisiert wurden, um Änderungen nur für diese Felder zu senden, da das Senden aller Felder in einem Update sinnlose Referenzen als Rohdaten zusätzlich zu den Aktualisierungen senden würde.
Das Pre-Savesignal hat das Argument update_fields
. Ich suchte nach einigen Details und fand heraus, dass dieses Argument alle Felder enthalten kann, wenn ein Update durchgeführt wird.
In Bezug auf update_fieldswie die docs haben wenig Informationen über dieses
- Wenn Sie ein Objekt erstellen, wird alles übergeben bekommen update_fields?
- Werden beim Aktualisieren eines Objekts alle Felder an update_fields übergeben, oder nur diejenigen, die aktualisiert wurden?
Gibt es noch andere Vorschläge, wie Sie das angehen können? Ich weiß, post_save
hat das Argument created
, aber ich würde lieber auf die Daten vor dem Speichern arbeiten.
Ich werde ein separates Update-Formular schreiben und 'update_fields' dort einstellen ... – henryaaron