2017-03-26 16 views
0

私はdjangoを使ってフレームワークのAPIプロジェクトを開発中です。主要なコーディングなしで、デフォルトの作成/更新/取得/削除が簡単に機能します。削除の代わりにdjangoの更新(ソフト削除)のステータス

私のすべてのモデルは、アクティブであり、かつ削除済みであることを示すstatus_idフィールドを持っています。私は誰かがテーブル行を削除しようとすると、ステータスを「削除済み」に更新したいだけです。 テーブルの行のステータスを削除する代わりに更新する方法はありますか?将来何かが起こった場合、私は過去のデータを見直すことができます。

このためにビューとシリアライザでどのようなコードを追加する必要がありますか?

答えて

0

ViewSetを使用している場合は、デフォルトの削除動作を無効にする最も簡単な方法は、そのdestroyメソッドをオーバーライドすることです。

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

あなたはViewSetshereに関する詳細な情報を見つけることができます。

関連する問題