fix: QctDetailSerializer bug

This commit is contained in:
caoqianming 2024-12-23 15:29:10 +08:00
parent 4eb8aeca96
commit 91dacba668
2 changed files with 16 additions and 3 deletions

View File

@ -145,6 +145,18 @@ class Qct(CommonAModel):
defects = models.ManyToManyField(Defect, verbose_name="缺陷项", blank=True, through='qm.qctdefect')
materials = models.ManyToManyField(Material, verbose_name="物料", blank=True, through='qm.qctmat')
@property
def qct_testitems(self):
return QctTestItem.objects.filter(qct=self)
@property
def qct_defects(self):
return QctDefect.objects.filter(qct=self)
@property
def qct_mats(self):
return QctMat.objects.filter(qct=self)
class QctTestItem(BaseModel):
qct = models.ForeignKey(Qct, verbose_name="质检模板", on_delete=models.CASCADE, related_name="qcttestitem")
testitem = models.ForeignKey(TestItem, verbose_name="检测项", on_delete=models.CASCADE, null=True, blank=True)

View File

@ -38,6 +38,7 @@ class QctSerializer(CustomModelSerializer):
class QctTestItemSerializer(CustomModelSerializer):
testitem_name = serializers.CharField(source='testitem.name', read_only=True)
testitem_description = serializers.CharField(source='testitem.description', read_only=True)
class Meta:
model = QctTestItem
fields = '__all__'
@ -55,9 +56,9 @@ class QctMatSerializer(CustomModelSerializer):
fields = '__all__'
class QctDetailSerializer(CustomModelSerializer):
testitems_ = QctTestItemSerializer(source="testitems", many=True, read_only=True)
defects_ = QctDefectSerializer(source="defects", many=True, read_only=True)
defects_ = DefectSerializer(source="defects", many=True, read_only=True)
qct_testitems = QctTestItemSerializer(many=True, read_only=True)
qct_defects = QctDefectSerializer(many=True, read_only=True)
qct_mats = QctMatSerializer(many=True, read_only=True)
class Meta:
model = Qct
fields = '__all__'