filter.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. from django_filters import FilterSet
  2. from .models import ContainerListModel,ContainerDetailModel,ContainerOperationModel,TaskModel
  3. class ContainerListFilter(FilterSet):
  4. class Meta:
  5. model = ContainerListModel
  6. fields = {
  7. "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  8. "container_code": ['exact', 'icontains'],
  9. "current_location": ['exact', 'icontains'],
  10. "status": ['exact', 'icontains'],
  11. "last_operation": ['exact', 'icontains'],
  12. }
  13. class ContainerDetailFilter(FilterSet):
  14. class Meta:
  15. model = ContainerDetailModel
  16. fields = {
  17. "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  18. "month": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  19. "container" : ['exact'],
  20. "batch": ['exact'],
  21. "goods_code": ['exact', 'icontains'],
  22. "goods_desc": ['exact', 'icontains'],
  23. "goods_qty": ['exact', 'icontains'],
  24. "goods_weight": ['exact', 'icontains'],
  25. "status": ['exact', 'icontains'],
  26. "creater": ['exact', 'icontains'],
  27. "create_time": ['exact', 'gt', 'gte', 'lt', 'lte', 'range'],
  28. "update_time": ['exact', 'gt', 'gte', 'lt', 'lte', 'range'],
  29. }
  30. class ContainerOperationFilter(FilterSet):
  31. class Meta:
  32. model = ContainerOperationModel
  33. fields = {
  34. "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  35. "month": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  36. "container" : ['exact'],
  37. "operation_type": ['exact', 'icontains'],
  38. "batch": ['exact'],
  39. "goods_code" : ['exact', 'icontains'],
  40. "goods_desc": ['exact', 'icontains'],
  41. "goods_qty": ['exact', 'icontains'],
  42. "goods_weight": ['exact', 'icontains'],
  43. "operator": ['exact', 'icontains'],
  44. "timestamp": ['exact', 'gt', 'gte', 'lt', 'lte', 'range'],
  45. "from_location": ['exact', 'icontains'],
  46. "to_location": ['exact', 'icontains'],
  47. "memo": ['exact', 'icontains'],
  48. }
  49. class TaskFilter(FilterSet):
  50. class Meta:
  51. model = TaskModel
  52. fields = {
  53. "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  54. "task_wcs" : ['exact'],
  55. "container_detail" : ['exact'],
  56. "batch_detail": ['exact'],
  57. "container_detail__goods_code": ['exact', 'icontains'],
  58. "container_detail__goods_desc": ['exact', 'icontains'],
  59. }