feat: batchst增加batch__startswith__in筛选条件
This commit is contained in:
parent
cbaf79084c
commit
bcbaba330d
|
@ -1,6 +1,7 @@
|
||||||
from django_filters import rest_framework as filters
|
from django_filters import rest_framework as filters
|
||||||
from apps.wpm.models import SfLog, StLog, WMaterial, Mlog, Handover, Mgroup, Mlogb, Mtask
|
from apps.wpm.models import (SfLog, StLog, WMaterial, Mlog,
|
||||||
|
Handover, Mgroup, Mlogb, Mtask, BatchSt)
|
||||||
|
from django.db.models import Q
|
||||||
|
|
||||||
class SfLogFilter(filters.FilterSet):
|
class SfLogFilter(filters.FilterSet):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -136,3 +137,22 @@ class MlogbFilter(filters.FilterSet):
|
||||||
return queryset.filter(material_out__isnull=False)
|
return queryset.filter(material_out__isnull=False)
|
||||||
return queryset
|
return queryset
|
||||||
return queryset.none()
|
return queryset.none()
|
||||||
|
|
||||||
|
|
||||||
|
class BatchStFilter(filters.FilterSet):
|
||||||
|
batch__startswith__in = filters.CharFilter(method='filter_batch')
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = BatchSt
|
||||||
|
fields = {
|
||||||
|
"batch": ["exact", "contains", "startswith"],
|
||||||
|
"last_time": ["exact", "gte", "lte"],
|
||||||
|
"update_time": ["exact", "gte", "lte"]
|
||||||
|
}
|
||||||
|
|
||||||
|
def filter_batch(self, queryset, name, value):
|
||||||
|
v_list = value.split(',')
|
||||||
|
query = Q()
|
||||||
|
for value in v_list:
|
||||||
|
query |= Q(batch__startswith=value)
|
||||||
|
return queryset.filter(query)
|
|
@ -14,7 +14,7 @@ from apps.mtm.models import Material, Process
|
||||||
from apps.pm.models import Mtask
|
from apps.pm.models import Mtask
|
||||||
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
|
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
|
||||||
|
|
||||||
from .filters import StLogFilter, SfLogFilter, WMaterialFilter, MlogFilter, HandoverFilter, MlogbFilter
|
from .filters import StLogFilter, SfLogFilter, WMaterialFilter, MlogFilter, HandoverFilter, MlogbFilter, BatchStFilter
|
||||||
from .models import SfLog, SfLogExp, StLog, WMaterial, Mlog, Handover, Mlogb, AttLog, OtherLog, Fmlog, BatchSt
|
from .models import SfLog, SfLogExp, StLog, WMaterial, Mlog, Handover, Mlogb, AttLog, OtherLog, Fmlog, BatchSt
|
||||||
from .serializers import (SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer, MlogRevertSerializer,
|
from .serializers import (SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer, MlogRevertSerializer,
|
||||||
MlogSerializer, MlogRelatedSerializer, DeptBatchSerializer, HandoverSerializer, HandoverUpdateSerializer,
|
MlogSerializer, MlogRelatedSerializer, DeptBatchSerializer, HandoverSerializer, HandoverUpdateSerializer,
|
||||||
|
@ -523,8 +523,5 @@ class BatchStViewSet(ListModelMixin, CustomGenericViewSet):
|
||||||
serializer_class = BatchStSerializer
|
serializer_class = BatchStSerializer
|
||||||
ordering_fields = ["batch", "last_time", "update_time"]
|
ordering_fields = ["batch", "last_time", "update_time"]
|
||||||
ordering = ["batch"]
|
ordering = ["batch"]
|
||||||
filterset_fields = {
|
filterset_class = BatchStFilter
|
||||||
"batch": ["exact", "contains", "startswith"],
|
|
||||||
"last_time": ["exact", "gte", "lte"],
|
|
||||||
"update_time": ["exact", "gte", "lte"]
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue