feat: 增加mlog查询条件

This commit is contained in:
caoqianming 2023-10-25 10:42:29 +08:00
parent c88575a617
commit 3cbc6e3fef
2 changed files with 15 additions and 3 deletions

View File

@ -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, SfLogExp, WMaterial from apps.wpm.models import SfLog, SfLogExp, WMaterial, Mlog
['mgroup', 'shift', 'team', 'leader', 'team__belong_dept'] ['mgroup', 'shift', 'team', 'leader', 'team__belong_dept']
@ -49,3 +49,15 @@ class WMaterialFilter(filters.FilterSet):
"batch": ["exact"], "batch": ["exact"],
"count": ["gte", "lte", "exact"] "count": ["gte", "lte", "exact"]
} }
class MlogFilter(filters.FilterSet):
class Meta:
model = Mlog
fields = {
"mtask": ["exact", "in"],
"batch": ["exact"],
"handle_date": ["exact"],
"handle_user": ["exact"],
"mtask__mgroup__belong_dept__name": ["exact"]
}

View File

@ -10,7 +10,7 @@ from apps.pm.models import Mtask
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
from apps.utils.mixins import BulkCreateModelMixin from apps.utils.mixins import BulkCreateModelMixin
from .filters import SfLogExpFilter, SfLogFilter, WMaterialFilter from .filters import SfLogExpFilter, SfLogFilter, WMaterialFilter, MlogFilter
from .models import SfLog, SfLogExp, StLog, WMaterial, Mlog from .models import SfLog, SfLogExp, StLog, WMaterial, Mlog
from .serializers import SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer, MlogSerializer, MlogRelatedSerializer, DeptBatchSerializer from .serializers import SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer, MlogSerializer, MlogRelatedSerializer, DeptBatchSerializer
@ -121,7 +121,7 @@ class MlogViewSet(CustomModelViewSet):
queryset = Mlog.objects.all() queryset = Mlog.objects.all()
serializer_class = MlogSerializer serializer_class = MlogSerializer
select_related_fields = ['create_by', 'update_by', 'mtask'] select_related_fields = ['create_by', 'update_by', 'mtask']
filterset_fields = ['mtask', 'handle_user'] filterset_class = MlogFilter
def perform_destroy(self, instance): def perform_destroy(self, instance):
if instance.mtask.state == Mtask.MTASK_DONE: if instance.mtask.state == Mtask.MTASK_DONE: