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.utils.serializers import CustomModelSerializer
from rest_framework import serializers
from apps.inm.serializers import MaterialBatchSerializer
from apps.wpm.serializers import WMaterialSerializer
class WprDefectSerializer(CustomModelSerializer):
defect_name = serializers.CharField(source="defect.name", read_only=True)
@ -19,6 +21,10 @@ class WprSerializer(CustomModelSerializer):
model = Wpr
fields = '__all__'
class WprDetailSerializer(WprSerializer):
mb_ = MaterialBatchSerializer(source='mb', read_only=True)
wm_ = WMaterialSerializer(source='wm', read_only=True)
class WprNewSerializer(serializers.Serializer):
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.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 apps.mtm.models import Material
@ -18,6 +18,7 @@ class WprViewSet(CustomListModelMixin, RetrieveModelMixin, CustomGenericViewSet)
prefetch_related_fields = ["defects"]
queryset = Wpr.objects.all()
serializer_class = WprSerializer
retrieve_serializer_class = WprDetailSerializer
filterset_fields = {
"mb": ["exact", "isnull"],
"wm": ["exact", "isnull"],