feat: wpr detail

This commit is contained in:
caoqianming 2025-05-16 16:50:57 +08:00
parent b9ca9b802a
commit 2e0727a2c0
2 changed files with 8 additions and 1 deletions

View File

@ -1,6 +1,8 @@
from apps.wpmw.models import Wpr, WprDefect from apps.wpmw.models import Wpr, WprDefect
from apps.utils.serializers import CustomModelSerializer from apps.utils.serializers import CustomModelSerializer
from rest_framework import serializers from rest_framework import serializers
from apps.inm.serializers import MaterialBatchSerializer
from apps.wpm.serializers import WMaterialSerializer
class WprDefectSerializer(CustomModelSerializer): class WprDefectSerializer(CustomModelSerializer):
defect_name = serializers.CharField(source="defect.name", read_only=True) defect_name = serializers.CharField(source="defect.name", read_only=True)
@ -19,6 +21,10 @@ class WprSerializer(CustomModelSerializer):
model = Wpr model = Wpr
fields = '__all__' fields = '__all__'
class WprDetailSerializer(WprSerializer):
mb_ = MaterialBatchSerializer(source='mb', read_only=True)
wm_ = WMaterialSerializer(source='wm', read_only=True)
class WprNewSerializer(serializers.Serializer): class WprNewSerializer(serializers.Serializer):
year = serializers.IntegerField() year = serializers.IntegerField()

View File

@ -3,7 +3,7 @@ from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet
from apps.utils.mixins import CustomListModelMixin, RetrieveModelMixin from apps.utils.mixins import CustomListModelMixin, RetrieveModelMixin
from apps.wpmw.models import Wpr, WprDefect from apps.wpmw.models import Wpr, WprDefect
from apps.wpmw.serializers import WprSerializer, WprNewSerializer from apps.wpmw.serializers import WprSerializer, WprNewSerializer, WprDetailSerializer
from rest_framework.response import Response from rest_framework.response import Response
from apps.mtm.models import Material from apps.mtm.models import Material
@ -18,6 +18,7 @@ class WprViewSet(CustomListModelMixin, RetrieveModelMixin, CustomGenericViewSet)
prefetch_related_fields = ["defects"] prefetch_related_fields = ["defects"]
queryset = Wpr.objects.all() queryset = Wpr.objects.all()
serializer_class = WprSerializer serializer_class = WprSerializer
retrieve_serializer_class = WprDetailSerializer
filterset_fields = { filterset_fields = {
"mb": ["exact", "isnull"], "mb": ["exact", "isnull"],
"wm": ["exact", "isnull"], "wm": ["exact", "isnull"],