from rest_framework import serializers class ZhiBaoSelectViewSerializer(serializers.Serializer): identify_model = serializers.CharField(help_text="识别模型", required=True) start_time = serializers.IntegerField(help_text="开始时间 秒级时间戳", required=True) end_time = serializers.IntegerField(help_text="结束时间 秒级时间戳", required=True) pest_name = serializers.CharField(help_text="害虫名称", required=False) page = serializers.IntegerField(help_text="页码", required=True) page_size = serializers.IntegerField(help_text="每页数量", required=True) def validate_identify_model(self, value): if value not in ["A","B"]: raise serializers.ValidationError("无法识别筛选模型") return value def validate_start_time(self, value): if value<0: raise serializers.ValidationError("时间戳不能小于0") return value def validate_end_time(self, value): if value<0: raise serializers.ValidationError("时间戳不能小于0") return value def validate_page(self, value): if value<1: raise serializers.ValidationError("页码不能小于1") return value def validate_page_size(self, value): if value<1: raise serializers.ValidationError("每页数据不能小于1") return value def validate(self, attrs): if attrs["start_time"] > attrs["end_time"]: raise serializers.ValidationError("结束时间不能小于开始时间") return attrs