2017-03-26 1 views
0

ich entwickle ein rest framework api projekt mit django. Der Standard create/update/get/delete funktioniert einfach und ohne großen Programmieraufwand.django update (soft delete) status statt löschen

Alle meine Modelle haben ein status_id-Feld, das aktive und gelöschte bezeichnet. Ich möchte nur den Status auf "gelöscht" aktualisieren, wenn jemand versucht, eine Tabellenzeile zu löschen. Ich frage mich, gibt es eine Möglichkeit, den Status einer Tabellenzeile zu aktualisieren, anstatt sie zu löschen. Damit ich die Vergangenheitsdaten überprüfen kann, wenn in Zukunft etwas passiert.

Welcher Code muss in Sichten und Serialisierern dafür hinzugefügt werden?

Antwort

0

Wenn Sie eine ViewSet verwenden, besteht die einfachste Möglichkeit zum Überschreiben des Standardlöschverhaltens darin, die destroy-Methode zu überschreiben.

class ExampleViewSet(viewsets.ViewSet): 
    def destroy(self, request, pk=None): 
     # Lookup record 
     # Set deletion flag 
     # Save record 

können Sie weitere Informationen finden Sie auf ViewSetshere.