Compare commits
No commits in common. "bc4953893beaeba0f036f30bafe2a639ea2f559d" and "1c447a86ef7de268885989adcb313b09615ac456" have entirely different histories.
bc4953893b
...
1c447a86ef
|
|
@ -1,7 +1,6 @@
|
||||||
from django_filters import rest_framework as filters
|
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 django.db.models.expressions import F
|
||||||
from rest_framework.exceptions import ParseError
|
|
||||||
|
|
||||||
|
|
||||||
class MaterialFilter(filters.FilterSet):
|
class MaterialFilter(filters.FilterSet):
|
||||||
|
|
@ -46,8 +45,6 @@ class GoalFilter(filters.FilterSet):
|
||||||
|
|
||||||
|
|
||||||
class RouteFilter(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:
|
class Meta:
|
||||||
model = Route
|
model = Route
|
||||||
fields = {
|
fields = {
|
||||||
|
|
@ -64,15 +61,3 @@ class RouteFilter(filters.FilterSet):
|
||||||
"mgroup__belong_dept__name": ["exact", "contains"],
|
"mgroup__belong_dept__name": ["exact", "contains"],
|
||||||
"from_route": ["exact", "isnull"],
|
"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")
|
|
||||||
Loading…
Reference in New Issue