testrecord item serializer增加字段

This commit is contained in:
caoqianming 2021-12-14 16:12:50 +08:00
parent 7598e96d1f
commit 345d49ef67
1 changed files with 14 additions and 13 deletions

View File

@ -48,12 +48,12 @@ class TestRecordItemUpdateSerializer(serializers.ModelSerializer):
class TestRecordItemSerializer(serializers.ModelSerializer): class TestRecordItemSerializer(serializers.ModelSerializer):
need_judge = serializers.BooleanField(source='form_field__need_judge', read_only=True) need_judge = serializers.BooleanField(source='form_field.need_judge', read_only=True)
rule_expression = serializers.JSONField(source='form_field__rule_expression', read_only=True) rule_expression = serializers.JSONField(source='form_field.rule_expression', read_only=True)
display_expression = serializers.JSONField(source='form_field__display_expression', read_only=True) display_expression = serializers.JSONField(source='form_field.display_expression', read_only=True)
is_hidden = serializers.BooleanField(source='form_field__is_hidden', read_only=True) is_hidden = serializers.BooleanField(source='form_field.is_hidden', read_only=True)
help_text = serializers.CharField(source='form_field__help_text', read_only=True) help_text = serializers.CharField(source='form_field.help_text', read_only=True)
sort = serializers.IntegerField(source='form_field__sort', read_only=True) sort = serializers.IntegerField(source='form_field.sort', read_only=True)
class Meta: class Meta:
model = TestRecordItem model = TestRecordItem
fields = '__all__' fields = '__all__'
@ -73,25 +73,26 @@ class TestRecordListSerializer(serializers.ModelSerializer):
class TestRecordDetailBaseSerializer(serializers.ModelSerializer): class TestRecordDetailBaseSerializer(serializers.ModelSerializer):
form_ = RecordFormSimpleSerializer(source='form', read_only=True) form_ = RecordFormSimpleSerializer(source='form', read_only=True)
record_data = TestRecordItemSerializer(source='item_test_record', read_only=True, many=True) record_data = serializers.SerializerMethodField()
create_by_ = UserSimpleSerializer(source='create_by', read_only=True) create_by_ = UserSimpleSerializer(source='create_by', read_only=True)
class Meta: class Meta:
model = TestRecord model = TestRecord
fields = '__all__' fields = '__all__'
def get_record_data(self, obj):
return TestRecordItemSerializer(instance=obj.item_test_record.order_by('form_field__sort'), many=True).data
class TestRecordDetailSerializer(serializers.ModelSerializer): class TestRecordDetailSerializer(serializers.ModelSerializer):
form_ = RecordFormSimpleSerializer(source='form', read_only=True) form_ = RecordFormSimpleSerializer(source='form', read_only=True)
record_data = TestRecordItemSerializer(source='item_test_record', read_only=True, many=True) # record_data = TestRecordItemSerializer(source='item_test_record', read_only=True, many=True)
# record_data_ = serializers.SerializerMethodField() record_data = serializers.SerializerMethodField()
origin_test_ = TestRecordDetailBaseSerializer(source='origin_test', read_only=True) origin_test_ = TestRecordDetailBaseSerializer(source='origin_test', read_only=True)
class Meta: class Meta:
model = TestRecord model = TestRecord
fields = '__all__' fields = '__all__'
# def get_record_data_(self, obj): def get_record_data(self, obj):
# items_data = TestRecordItemSerializer(instance=obj.item_test_record, many=True).data return TestRecordItemSerializer(instance=obj.item_test_record.order_by('form_field__sort'), many=True).data
# if obj.origin_test and obj.type == TestRecord.TEST_PROCESS_RE:
# origin_
def to_representation(self, instance): def to_representation(self, instance):
ret = super().to_representation(instance) ret = super().to_representation(instance)