feat: wpr list 返回 defect详情

This commit is contained in:
caoqianming 2025-01-10 09:20:41 +08:00
parent e77dee956f
commit 2da98efca8
2 changed files with 13 additions and 2 deletions

View File

@ -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)

View File

@ -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