From 5268f1d24e00f8bcffdb9eba5f85e7a178eab10d Mon Sep 17 00:00:00 2001 From: lihuacai Date: Wed, 10 Jan 2024 22:02:16 +0800 Subject: [PATCH] feat(project): change hard project delete to logic delete --- fastrunner/models.py | 1 + fastrunner/views/project.py | 9 +++++---- web/src/pages/project/ProjectList.vue | 1 - 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/fastrunner/models.py b/fastrunner/models.py index de91fa49..543f74c4 100644 --- a/fastrunner/models.py +++ b/fastrunner/models.py @@ -34,6 +34,7 @@ class Meta: jira_bearer_token = models.CharField( "jira bearer_token", null=False, default="", max_length=45, blank=True ) + is_deleted = models.IntegerField("是否删除", null=True, default=0) class Debugtalk(BaseTable): diff --git a/fastrunner/views/project.py b/fastrunner/views/project.py index c7a22e6e..97f97860 100644 --- a/fastrunner/views/project.py +++ b/fastrunner/views/project.py @@ -24,7 +24,7 @@ class ProjectView(GenericViewSet): 项目增删改查 """ - queryset = models.Project.objects.all().order_by("-update_time") + queryset = models.Project.objects.filter(is_deleted=0).all().order_by("-update_time") serializer_class = serializers.ProjectSerializer pagination_class = pagination.MyCursorPagination @@ -97,9 +97,10 @@ def delete(self, request): return Response(status=status.HTTP_401_UNAUTHORIZED) try: project = models.Project.objects.get(id=request.data["id"]) - - project.delete() - prepare.project_end(project) + # 改完软删除 + project.is_deleted = 1 + project.save(update_fields=['is_deleted']) + # prepare.project_end(project) return Response(response.PROJECT_DELETE_SUCCESS) except ObjectDoesNotExist: diff --git a/web/src/pages/project/ProjectList.vue b/web/src/pages/project/ProjectList.vue index c642066e..a961742b 100644 --- a/web/src/pages/project/ProjectList.vue +++ b/web/src/pages/project/ProjectList.vue @@ -184,7 +184,6 @@