From 53c0b760e19c83ff981c974f535a00d3cc34c052 Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Tue, 11 Nov 2025 15:33:44 +0500 Subject: [PATCH] orders: add search filter to deleted party list api --- core/apps/orders/models/party.py | 1 + core/apps/orders/views/party.py | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/core/apps/orders/models/party.py b/core/apps/orders/models/party.py index 7862cff..d170c71 100644 --- a/core/apps/orders/models/party.py +++ b/core/apps/orders/models/party.py @@ -124,6 +124,7 @@ class DeletedParty(BaseModel): party = models.ForeignKey(Party, on_delete=models.CASCADE, related_name='deleted_parties') deleted_date = models.DateField(auto_now_add=True) comment = models.CharField(max_length=200, null=True, blank=True) + user = models.ForeignKey(User, on_delete=models.SET_NULL, related_name='deleted_parties', null=True, blank=True) def __str__(self): return f'{self.party} deleted at {self.deleted_date}' diff --git a/core/apps/orders/views/party.py b/core/apps/orders/views/party.py index 6376345..5f2b9b2 100644 --- a/core/apps/orders/views/party.py +++ b/core/apps/orders/views/party.py @@ -97,7 +97,14 @@ class DeletedPartyListApiView(generics.GenericAPIView): permission_classes = [HasRolePermission] def get(self, request): + search = request.query_params.get('q') deleted_parties = DeletedParty.objects.select_related('party') + if search: + deleted_parties = deleted_parties.filter( + Q(party__number__istartswith=search)| + Q(party__comment__istartswith=search)| + Q(command__istartswith=search) + ) page = self.paginate_queryset(deleted_parties) if page is not None: serializer = self.serializer_class(page, many=True)