from django.shortcuts import render from apps.enm.models import Mpoint, MpLog, MpointStat from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet from rest_framework.mixins import ListModelMixin from apps.utils.mixins import BulkCreateModelMixin, BulkDestroyModelMixin from apps.enm.serializers import (MpointSerializer, MpLogSerializer, MpointStatSerializer) class MpointViewSet(CustomModelViewSet): """ list:测点 测点 """ queryset = Mpoint.objects.all() serializer_class = MpointSerializer select_related_fields = ['create_by', 'belong_dept', 'ep_monitored', 'ep_belong', 'mgroup'] filterset_fields = ['belong_dept', 'ep_monitored', 'ep_belong', 'mgroup'] search_fields = ['number', 'code'] class MpLogViewSet(ListModelMixin, CustomGenericViewSet): """ list:测点原始记录 测点原始记录 """ perms_map = {'get': '*'} queryset = MpLog.objects.all() serializer_class = MpLogSerializer select_related_fields = ['mpoint'] filterset_fields = ['mpoint', 'mpoint__mgroup', 'mpoint__mgroup__belong_dept'] class MpointStatViewSet(BulkCreateModelMixin, BulkDestroyModelMixin, ListModelMixin, CustomGenericViewSet): """ list:测点统计记录 测点统计记录 """ perms_map = {'get': '*', 'post': 'mpointstat.create', 'delete': 'mpointstat.delete'} queryset = MpointStat.objects.all() serializer_class = MpointStatSerializer select_related_fields = ['mpoint'] filterset_fields = ['mpoint', 'mpoint__mgroup', 'mpoint__mgroup__belong_dept', 'sflog', 'hour', 'day', 'month', 'year', 'day_s', 'month_s', 'year_s']