1
0
forked from erp-dev/erp

feat: salesitem delete guard service

This commit is contained in:
2026-04-06 15:04:22 +08:00
parent 9afbb73799
commit ebd687ccdd
5 changed files with 91 additions and 19 deletions

View File

@@ -413,9 +413,9 @@ class PrintingJobListSerializer(serializers.ModelSerializer):
def get_saleitems(self, obj):
items = getattr(obj, '_saleitems_cache', None)
if items is None:
from shipment.models import SalesItem
from shipment.services import get_active_sales_items_queryset
items = list(
SalesItem.objects.select_related('shipment', 'created_by')
get_active_sales_items_queryset().select_related('shipment', 'created_by')
.filter(printing_job_id=obj.id)
.order_by('id')
)
@@ -475,9 +475,9 @@ class PrintingJobDetailSerializer(serializers.ModelSerializer):
def get_saleitems(self, obj):
items = getattr(obj, '_saleitems_cache', None)
if items is None:
from shipment.models import SalesItem
from shipment.services import get_active_sales_items_queryset
items = list(
SalesItem.objects.select_related('shipment', 'created_by')
get_active_sales_items_queryset().select_related('shipment', 'created_by')
.filter(printing_job_id=obj.id)
.order_by('id')
)

View File

@@ -501,11 +501,11 @@ class PrintingJobViewSet(CustomerVisibilityFilterMixin, LimitedModelViewSet):
if not jobs:
return
from shipment.models import SalesItem
from shipment.services import get_active_sales_items_queryset
job_ids = [job.id for job in jobs]
saleitems = list(
SalesItem.objects.select_related("shipment", "created_by")
get_active_sales_items_queryset().select_related("shipment", "created_by")
.filter(printing_job_id__in=job_ids)
.order_by("id")
)