Compare commits

..

No commits in common. "bc4953893beaeba0f036f30bafe2a639ea2f559d" and "1c447a86ef7de268885989adcb313b09615ac456" have entirely different histories.

1 changed files with 1 additions and 16 deletions

View File

@ -1,7 +1,6 @@
from django_filters import rest_framework as filters
from apps.mtm.models import Goal, Material, Route, RoutePack
from apps.mtm.models import Goal, Material, Route
from django.db.models.expressions import F
from rest_framework.exceptions import ParseError
class MaterialFilter(filters.FilterSet):
@ -46,8 +45,6 @@ class GoalFilter(filters.FilterSet):
class RouteFilter(filters.FilterSet):
nprocess_name = filters.CharFilter(method='filter_nprocess_name', label="nprocess_name")
material_in_has = filters.CharFilter(method='filter_material_in_has', label="material_in_has ID")
class Meta:
model = Route
fields = {
@ -64,15 +61,3 @@ class RouteFilter(filters.FilterSet):
"mgroup__belong_dept__name": ["exact", "contains"],
"from_route": ["exact", "isnull"],
}
def filter_nprocess_name(self, queryset, name, value):
return queryset
def filter_material_in_has(self, queryset, name, value):
nprocess_name = self.data.get('nprocess_name', None)
if nprocess_name:
routepack_qs = queryset.filter(material_in__id=value, routepack__isnull=False, routepack__state=RoutePack.RP_S_CONFIRM).values_list('routepack', flat=True)
qs = queryset.filter(routepack__in=routepack_qs, process__name=nprocess_name)
return qs
raise ParseError("nprocess_name is required")