testrecord update bug

This commit is contained in:
caoqianming 2021-12-15 09:33:35 +08:00
parent 0a487d4277
commit 80720a0734
1 changed files with 13 additions and 2 deletions

View File

@ -105,8 +105,14 @@ class TestRecordDetailSerializer(serializers.ModelSerializer):
i['origin_value'] = o_dict[i['field_key']] if i['field_key'] in o_dict else None
return super().to_representation(instance)
class TestRecordItemUpdatexSerializer(serializers.Serializer):
id = serializers.PrimaryKeyRelatedField(queryset=TestRecordItem.objects.all())
field_value = serializers.JSONField(allow_null=True, required=False)
is_testok = serializers.BooleanField(allow_null=True, required=False)
is_hidden = serializers.BooleanField(default=False)
class TestRecordUpdateSerializer(serializers.ModelSerializer):
record_data = TestRecordItemUpdateSerializer(many=True)
record_data = TestRecordItemUpdatexSerializer(many=True)
class Meta:
model = TestRecord
fields = ['is_testok', 'record_data']
@ -116,5 +122,10 @@ class TestRecordUpdateSerializer(serializers.ModelSerializer):
for attr, value in validated_data.items():
setattr(instance, attr, value)
instance.save()
self.record_data.save()
for i in record_data:
tri = i['id']
tri.field_value = i['field_value']
tri.is_testok = i['is_testok']
tri.is_hidden = i['is_hidden']
tri.save()
return instance