diff --git a/apps/wpm/models.py b/apps/wpm/models.py index ee73e776..abc604b6 100644 --- a/apps/wpm/models.py +++ b/apps/wpm/models.py @@ -510,7 +510,7 @@ class Mlogb(BaseModel): @property def mlogbdefect(self): - return MlogbDefect.objects.filter(mlogb=self) + return self.mlogbdefect_set.all() def cal_count_pn_jgqbl(self, cal_mlog=False): mqs = MlogbDefect.get_defect_qs_from_mlogb(self, ftype="in") diff --git a/apps/wpm/views.py b/apps/wpm/views.py index b55651c3..bbf07ae5 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -765,6 +765,9 @@ class MlogbViewSet(CustomListModelMixin, CustomGenericViewSet): queryset = Mlogb.objects.all() serializer_class = MlogbDetailSerializer select_related_fields = ["material_out", "material_in", "test_user", "wm_in__defect"] + prefetch_related_fields = [ + Prefetch("mlogbdefect_set", queryset=MlogbDefect.objects.select_related("defect")), + ] filterset_class = MlogbFilter ordering = ["create_time"]