forked from erp-dev/erp
feat: added plate order clone
This commit is contained in:
@@ -8,7 +8,7 @@ from rest_framework.permissions import BasePermission
|
||||
from rest_framework.pagination import LimitOffsetPagination
|
||||
from rest_framework.permissions import DjangoModelPermissions
|
||||
from rest_framework.parsers import MultiPartParser, FormParser, JSONParser
|
||||
from django.db.models import CharField
|
||||
from django.db.models import CharField, Prefetch
|
||||
from django.db.models.functions import Cast, Coalesce
|
||||
from django_filters.rest_framework import DjangoFilterBackend
|
||||
from django_filters import rest_framework as django_filters
|
||||
@@ -306,6 +306,14 @@ class PrintingJobViewSet(viewsets.ModelViewSet):
|
||||
queryset = super().get_queryset()
|
||||
if self.action in ['list', 'retrieve']:
|
||||
queryset = queryset.select_related('printing_order', 'product')
|
||||
# 预取批量推进记录(避免 serializer 产生 N+1)
|
||||
queryset = queryset.prefetch_related(
|
||||
Prefetch(
|
||||
'batch_advance_records',
|
||||
queryset=models.PrintingJobBatchAdvanceRecord.objects.select_related('state', 'created_by')
|
||||
.order_by('-created_at', '-id'),
|
||||
)
|
||||
)
|
||||
return queryset
|
||||
|
||||
def destroy(self, request, *args, **kwargs):
|
||||
|
||||
Reference in New Issue
Block a user