feat: mlogb增加筛选条件
This commit is contained in:
parent
debc268c88
commit
ac1b4b6c3e
|
|
@ -1,5 +1,5 @@
|
||||||
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
|
from apps.wpm.models import SfLog, StLog, WMaterial, Mlog, Handover, Mgroup, Mlogb
|
||||||
|
|
||||||
|
|
||||||
class SfLogFilter(filters.FilterSet):
|
class SfLogFilter(filters.FilterSet):
|
||||||
|
|
@ -87,3 +87,24 @@ class HandoverFilter(filters.FilterSet):
|
||||||
"recive_mgroup": ["exact"],
|
"recive_mgroup": ["exact"],
|
||||||
"recive_mgroup__name": ["exact"],
|
"recive_mgroup__name": ["exact"],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class MlogbFilter(filters.FilterSet):
|
||||||
|
type = filters.CharFilter(label="in/out", filter_method='filter_type')
|
||||||
|
class Meta:
|
||||||
|
model = Mlogb
|
||||||
|
fields = {
|
||||||
|
"mlog": ["exact"],
|
||||||
|
"mtask": ["exact"],
|
||||||
|
"material_in": ["exact", "isnull"],
|
||||||
|
"material_out": ["exact", "isnull"],
|
||||||
|
}
|
||||||
|
|
||||||
|
def filter_type(self, queryset, name, value):
|
||||||
|
if value:
|
||||||
|
if value == 'in':
|
||||||
|
return queryset.filter(material_in__isnull=False)
|
||||||
|
elif value == 'out':
|
||||||
|
return queryset.filter(material_out__isnull=False)
|
||||||
|
return queryset
|
||||||
|
return queryset.none()
|
||||||
Loading…
Reference in New Issue