from rest_framework import serializers from apps.am.models import Area from apps.third.models import TDevice from apps.utils.serializers import CustomModelSerializer class RequestCommonSerializer(serializers.Serializer): method_choice = ( ('post', 'post'), ('get', 'get'), ('put', 'put'), ('delete', 'delete') ) url = serializers.CharField(label='请求地址', required=False) method = serializers.ChoiceField(label='请求方法', choices=method_choice, required=False) params = serializers.JSONField(label='请求参数', required=False, allow_null=True) json = serializers.JSONField(label='请求body(json格式)', required=False, allow_null=True) code = serializers.CharField(label='请求短标识', required=False, allow_null=True) class BindAreaSerializer(serializers.Serializer): codes = serializers.ListField(child=serializers.CharField(), label='标识列表') area = serializers.PrimaryKeyRelatedField(queryset=Area.objects.all(), label="区域ID") class LabelLocationSerializer(CustomModelSerializer): class Meta: model = TDevice fields = ['type', 'location', 'area', 'areas'] class BindAreasSerializer(serializers.Serializer): type = serializers.CharField(label='设备类型') codes = serializers.ListField(child=serializers.CharField(), label='标识列表') areas = serializers.PrimaryKeyRelatedField(queryset=Area.objects.all(), label="区域ID列表", required=False, many=True)