perf: 优化mlog和handover的查询
This commit is contained in:
parent
62f261fd75
commit
9c1ba20d36
|
@ -111,7 +111,9 @@ class MlogFilter(filters.FilterSet):
|
|||
}
|
||||
|
||||
def filter_cbatch(self, queryset, name, value):
|
||||
return queryset.filter(Q(b_mlog__batch=value) | Q(batch=value)).distinct()
|
||||
qs1 = queryset.filter(batch=value)
|
||||
qs2 = queryset.filter(b_mlog__batch=value)
|
||||
return qs1.union(qs2)
|
||||
|
||||
|
||||
class HandoverFilter(filters.FilterSet):
|
||||
|
@ -126,7 +128,9 @@ class HandoverFilter(filters.FilterSet):
|
|||
return queryset.filter(send_dept__id=value)|queryset.filter(recive_dept__id=value)
|
||||
|
||||
def filter_cbatch(self, queryset, name, value):
|
||||
return queryset.filter(Q(b_handover__batch=value) | Q(batch=value)).distinct()
|
||||
qs1 = queryset.filter(Q(batch=value)|Q(new_batch=value))
|
||||
qs2 = queryset.filter(Q(b_handover__batch=value))
|
||||
return qs1.union(qs2)
|
||||
|
||||
class Meta:
|
||||
model = Handover
|
||||
|
|
|
@ -384,6 +384,7 @@ class HandoverViewSet(CustomModelViewSet):
|
|||
filterset_class = HandoverFilter
|
||||
search_fields = ['id', 'material__name',
|
||||
'material__number', 'material__specification', 'batch', 'material__model', 'b_handover__batch', "new_batch"]
|
||||
prefetch_related_fields = ["b_handover"]
|
||||
|
||||
def perform_destroy(self, instance):
|
||||
user = self.request.user
|
||||
|
|
Loading…
Reference in New Issue