filter.py 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. from django_filters import FilterSet
  2. from .models import ListModel,DepartmentListModel,BoundTypeListModel,BoundBSListModel,BoundCodeTypeListModel,BoundStatusListModel,ProductListModel
  3. class Filter(FilterSet):
  4. class Meta:
  5. model = ListModel
  6. fields = {
  7. "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  8. "warehouse_name": ['exact', 'iexact', 'contains', 'icontains'],
  9. "warehouse_city": ['exact', 'iexact', 'contains', 'icontains'],
  10. "warehouse_address": ['exact', 'iexact', 'contains', 'icontains'],
  11. "warehouse_contact": ['exact', 'iexact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  12. "warehouse_manager": ['exact', 'iexact', 'contains', 'icontains'],
  13. "creater": ['exact', 'iexact', 'contains', 'icontains'],
  14. "is_delete": ['exact', 'iexact'],
  15. "create_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range'],
  16. "update_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range']
  17. }
  18. class DepartmentFilter(FilterSet):
  19. class Meta:
  20. model = DepartmentListModel
  21. fields = {
  22. "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  23. "department_code": ['exact', 'iexact', 'contains', 'icontains'],
  24. "department_name": ['exact', 'iexact', 'contains', 'icontains'],
  25. "department_contact": ['exact', 'iexact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  26. "department_manager": ['exact', 'iexact', 'contains', 'icontains'],
  27. "creater": ['exact', 'iexact', 'contains', 'icontains'],
  28. "is_delete": ['exact', 'iexact'],
  29. "create_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range'],
  30. "update_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range']
  31. }
  32. class BoundTypeFilter(FilterSet):
  33. class Meta:
  34. model = BoundTypeListModel
  35. fields = {
  36. "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  37. "bound_type_name": ['exact', 'iexact', 'contains', 'icontains'],
  38. "bound_type_code": ['exact', 'iexact', 'contains', 'icontains'],
  39. "creater": ['exact', 'iexact', 'contains', 'icontains'],
  40. "is_delete": ['exact', 'iexact'],
  41. "create_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range'],
  42. "update_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range']
  43. }
  44. class BoundBSFilter(FilterSet):
  45. class Meta:
  46. model = BoundBSListModel
  47. fields = {
  48. "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  49. "bound_bs_name": ['exact', 'iexact', 'contains', 'icontains'],
  50. "bound_bs_code": ['exact', 'iexact', 'contains', 'icontains'],
  51. "creater": ['exact', 'iexact', 'contains', 'icontains'],
  52. "is_delete": ['exact', 'iexact'],
  53. "create_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range'],
  54. "update_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range']
  55. }
  56. class BoundCodeTypeFilter(FilterSet):
  57. class Meta:
  58. model = BoundCodeTypeListModel
  59. fields = {
  60. "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  61. "bound_code_type_name": ['exact', 'iexact', 'contains', 'icontains'],
  62. "bound_code_type_code": ['exact', 'iexact', 'contains', 'icontains'],
  63. "creater": ['exact', 'iexact', 'contains', 'icontains'],
  64. "is_delete": ['exact', 'iexact'],
  65. "create_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range'],
  66. "update_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range']
  67. }
  68. class BoundStatusFilter(FilterSet):
  69. class Meta:
  70. model = BoundStatusListModel
  71. fields = {
  72. "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  73. "bound_status_name": ['exact', 'iexact', 'contains', 'icontains'],
  74. "bound_status_code": ['exact', 'iexact', 'contains', 'icontains'],
  75. "creater": ['exact', 'iexact', 'contains', 'icontains'],
  76. "is_delete": ['exact', 'iexact'],
  77. "create_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range'],
  78. "update_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range']
  79. }
  80. class ProductFilter(FilterSet):
  81. class Meta:
  82. model = ProductListModel
  83. fields = {
  84. "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
  85. "product_name": ['exact', 'iexact', 'contains', 'icontains'],
  86. "product_code": ['exact', 'iexact', 'contains', 'icontains'],
  87. "product_std": ['exact', 'iexact', 'contains', 'icontains'],
  88. "creater": ['exact', 'iexact', 'contains', 'icontains'],
  89. "is_delete": ['exact', 'iexact']
  90. }