diff --git a/apps/mtm/filters.py b/apps/mtm/filters.py index 72be6443..138b48de 100644 --- a/apps/mtm/filters.py +++ b/apps/mtm/filters.py @@ -6,6 +6,9 @@ from rest_framework.exceptions import ParseError class MaterialFilter(filters.FilterSet): tag = filters.CharFilter(method='filter_tag', label="low_inm:库存不足") + count__gt = filters.NumberFilter(field_name='count', lookup_expr='gt') + count_mb__gt = filters.NumberFilter(field_name='count_mb', lookup_expr='gt') + count_wm__gt = filters.NumberFilter(field_name='count_wm', lookup_expr='gt') class Meta: model = Material diff --git a/apps/mtm/views.py b/apps/mtm/views.py index 67b240f5..ec7c93e7 100644 --- a/apps/mtm/views.py +++ b/apps/mtm/views.py @@ -46,12 +46,12 @@ class MaterialViewSet(CustomModelViewSet): qs = super().get_queryset() if self.action in ["list", "retrieve"]: return qs.annotate( - count_wm=Coalesce( + count_mb=Coalesce( Sum('mb_m__count', filter=Q(mb_m__state=10)), Value(0), output_field=DecimalField() ), - count_mb=Coalesce( + count_wm=Coalesce( Sum('wm_m__count', filter=Q(wm_m__state=10)), Value(0), output_field=DecimalField()