feat: ftest增加筛选条件
This commit is contained in:
parent
fd5747f99c
commit
688b3fc3d1
|
@ -1,6 +1,7 @@
|
||||||
from django_filters import rest_framework as filters
|
from django_filters import rest_framework as filters
|
||||||
from apps.qm.models import QuaStat, TestItem, FtestWork, Qct
|
from apps.qm.models import QuaStat, TestItem, FtestWork, Qct, Ftest
|
||||||
from apps.utils.filters import MyJsonListFilter
|
from apps.utils.filters import MyJsonListFilter
|
||||||
|
from django.db.models import Q
|
||||||
|
|
||||||
|
|
||||||
class QuaStatFilter(filters.FilterSet):
|
class QuaStatFilter(filters.FilterSet):
|
||||||
|
@ -48,4 +49,18 @@ class FtestWorkFilter(filters.FilterSet):
|
||||||
"type": ["exact"],
|
"type": ["exact"],
|
||||||
"type2": ["exact"],
|
"type2": ["exact"],
|
||||||
"shift": ["exact"]
|
"shift": ["exact"]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class FtestFilter(filters.FilterSet):
|
||||||
|
wpr = filters.CharFilter(label="wprId", method="filter_wpr")
|
||||||
|
class Meta:
|
||||||
|
model = Ftest
|
||||||
|
fields = {
|
||||||
|
"type": ["exact"],
|
||||||
|
"ftest_work": ["exact"],
|
||||||
|
"mlogbw_ftest__wpr": ["exact"],
|
||||||
|
"mioitemw_ftest__wpr": ["exact"],
|
||||||
|
}
|
||||||
|
|
||||||
|
def filter_wpr(self, queryset, name, value):
|
||||||
|
return queryset.filter(Q(mlogbw_ftest__wpr=value) | Q(mioitemw_ftest__wpr=value))
|
|
@ -15,7 +15,7 @@ import datetime
|
||||||
|
|
||||||
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
|
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
|
||||||
from apps.wpm.models import SfLog
|
from apps.wpm.models import SfLog
|
||||||
from apps.qm.filters import QuaStatFilter, TestItemFilter, FtestWorkFilter, QctFilter
|
from apps.qm.filters import QuaStatFilter, TestItemFilter, FtestWorkFilter, QctFilter, FtestFilter
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
from apps.qm.services import ftestwork_submit
|
from apps.qm.services import ftestwork_submit
|
||||||
from apps.utils.thread import MyThread
|
from apps.utils.thread import MyThread
|
||||||
|
@ -153,7 +153,7 @@ class FtestViewSet(CustomModelViewSet):
|
||||||
queryset = Ftest.objects.all()
|
queryset = Ftest.objects.all()
|
||||||
serializer_class = FtestSerializer
|
serializer_class = FtestSerializer
|
||||||
select_related_fields = ['test_user', 'check_user', 'ftest_work']
|
select_related_fields = ['test_user', 'check_user', 'ftest_work']
|
||||||
filterset_fields = ['type', 'ftest_work', "mlogbw_ftest__wpr"]
|
filterset_class = FtestFilter
|
||||||
|
|
||||||
def count_sampling(self, ftest_work:FtestWork):
|
def count_sampling(self, ftest_work:FtestWork):
|
||||||
qs = Ftest.objects.filter(ftest_work=ftest_work)
|
qs = Ftest.objects.filter(ftest_work=ftest_work)
|
||||||
|
|
Loading…
Reference in New Issue