From 2da98efca8213176e4409ea7304cb82e8f25587b Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 10 Jan 2025 09:20:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20wpr=20list=20=E8=BF=94=E5=9B=9E=20defec?= =?UTF-8?q?t=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpmw/models.py | 3 +++ apps/wpmw/serializers.py | 12 ++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/apps/wpmw/models.py b/apps/wpmw/models.py index 678f6db9..82bd126b 100644 --- a/apps/wpmw/models.py +++ b/apps/wpmw/models.py @@ -71,6 +71,9 @@ class Wpr(BaseModel): def get_qs_by_wm(cls, wm): return cls.objects.filter(wm=wm, mb=None) + @property + def wprdefect(self): + return WprDefect.objects.filter(wpr=self) class WprDefect(BaseModel): wpr = models.ForeignKey(Wpr, verbose_name="关联产物", on_delete=models.CASCADE) diff --git a/apps/wpmw/serializers.py b/apps/wpmw/serializers.py index 4995168e..3f06ebd2 100644 --- a/apps/wpmw/serializers.py +++ b/apps/wpmw/serializers.py @@ -2,10 +2,18 @@ from apps.wpmw.models import Wpr, WprDefect from apps.utils.serializers import CustomModelSerializer from rest_framework import serializers -class WprSerializer(CustomModelSerializer): +class WprDefectSerializer(CustomModelSerializer): + defect_name = serializers.CharField(source="defect.name", read_only=True) + class Meta: + model = WprDefect + fields = "__all__" + + +class WprSerializer(CustomModelSerializer): material_name = serializers.StringRelatedField( - source='material', read_only=True) + source='material', read_only=True) + wprdefect = WprDefectSerializer(many=True, read_only=True) class Meta: model = Wpr