refactor datatables

This commit is contained in:
bobbyvish
2024-03-26 13:22:29 +05:30
parent 64c172ab59
commit 2a4f507a6f
22 changed files with 1191 additions and 391 deletions

View File

@@ -160,19 +160,17 @@ class UserListJson(BaseDatatableView):
print(f"request is {self.request.GET}")
search_value = self.request.GET.get("search[value]", None)
if search_value:
qs = qs.filter(
Q(id__icontains=search_value)
| Q(first_name__icontains=search_value)
| Q(email__icontains=search_value)
| Q(date_of_birth__icontains=search_value)
| Q(phone_no__icontains=search_value)
)
qs = super().filter_queryset(qs) # Call the built-in filtering first
for column in self.columns:
# print(f"columen index pattern {}")
print(f" columen index pattern {self.request.GET.get(f'columns[{self.columns.index(column)+1}][search][value]', None)}")
search_value = self.request.GET.get(f'columns[{self.columns.index(column)+1}][search][value]', None)
if search_value:
qs = qs.filter(**{f"{column}__icontains": search_value})
column_data = self.request.GET.get(f'columns[{self.columns.index(column)+1}][data]')
if column_data == "is_active":
qs = qs.filter(**{f"{column}": search_value})
else:
qs = qs.filter(**{f"{column}__icontains": search_value})
return qs