django更新(软删除)状态而不是删除

时间:2017-03-26 18:28:56

标签: python django django-models django-rest-framework

我正在用django开发一个rest框架api项目。默认的create / update / get / delete无需任何主要编码即可轻松完成。

我的所有模型都有一个status_id字段,表示活动和已删除。我只想将状态更新为'已删除'当有人试图删除表格行时。 我想知道有没有办法更新表行的状态而不是删除它。因此,如果将来发生某些事情,我可以查看过去的数据。

需要在视图和序列化程序中添加哪些代码?

1 个答案:

答案 0 :(得分:0)

如果您使用ViewSet覆盖默认删除行为的最简单方法是覆盖其destroy方法。

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

您可以在ViewSets here找到更多相关信息。