diff --git a/apps/inm/serializers.py b/apps/inm/serializers.py index 2aa6aa10..6aef4c62 100644 --- a/apps/inm/serializers.py +++ b/apps/inm/serializers.py @@ -417,6 +417,13 @@ class PackSerializer(CustomModelSerializer): model = Pack fields = "__all__" read_only_fields = EXCLUDE_FIELDS_BASE + + def create(self, validated_data): + index = validated_data["index"] + mio = validated_data["mio"] + if Pack.objects.filter(mio=mio, index=index).exists(): + raise ParseError('包装箱已存在') + return super().create(validated_data) class PackMioSerializer(CustomModelSerializer): diff --git a/apps/inm/urls.py b/apps/inm/urls.py index 2e9bee03..c1d0a13f 100644 --- a/apps/inm/urls.py +++ b/apps/inm/urls.py @@ -3,7 +3,7 @@ from rest_framework.routers import DefaultRouter from apps.inm.views import ( WarehouseVIewSet, MaterialBatchViewSet, MIOViewSet, MIOItemViewSet, MioDoViewSet, MioSaleViewSet, - MioPurViewSet, MioOtherViewSet, MIOItemwViewSet) + MioPurViewSet, MioOtherViewSet, MIOItemwViewSet, PackViewSet) API_BASE_URL = 'api/inm/' HTML_BASE_URL = 'dhtml/inm/' @@ -19,6 +19,7 @@ router.register('mio/pur', MioPurViewSet) router.register('mio/other', MioOtherViewSet) router.register('mioitem', MIOItemViewSet, basename='mioitem') router.register('mioitemw', MIOItemwViewSet, basename='mioitemw') +router.register('pack', PackViewSet, basename='pack') urlpatterns = [ path(API_BASE_URL, include(router.urls)), ]