orders: add search filter to deleted party list api
This commit is contained in:
@@ -124,6 +124,7 @@ class DeletedParty(BaseModel):
|
|||||||
party = models.ForeignKey(Party, on_delete=models.CASCADE, related_name='deleted_parties')
|
party = models.ForeignKey(Party, on_delete=models.CASCADE, related_name='deleted_parties')
|
||||||
deleted_date = models.DateField(auto_now_add=True)
|
deleted_date = models.DateField(auto_now_add=True)
|
||||||
comment = models.CharField(max_length=200, null=True, blank=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):
|
def __str__(self):
|
||||||
return f'{self.party} deleted at {self.deleted_date}'
|
return f'{self.party} deleted at {self.deleted_date}'
|
||||||
|
|||||||
@@ -97,7 +97,14 @@ class DeletedPartyListApiView(generics.GenericAPIView):
|
|||||||
permission_classes = [HasRolePermission]
|
permission_classes = [HasRolePermission]
|
||||||
|
|
||||||
def get(self, request):
|
def get(self, request):
|
||||||
|
search = request.query_params.get('q')
|
||||||
deleted_parties = DeletedParty.objects.select_related('party')
|
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)
|
page = self.paginate_queryset(deleted_parties)
|
||||||
if page is not None:
|
if page is not None:
|
||||||
serializer = self.serializer_class(page, many=True)
|
serializer = self.serializer_class(page, many=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user