From ddd3f6a5f02fc2cf4da7b3fe18a1f26375b76db2 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Sun, 25 Jun 2023 17:09:19 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B5=8B=E7=82=B9=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/enm/serializers.py | 11 +++++++++-- apps/enm/urls.py | 3 ++- apps/enm/views.py | 16 ++++++++++++++-- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/apps/enm/serializers.py b/apps/enm/serializers.py index 2b1135c7..d7a53487 100644 --- a/apps/enm/serializers.py +++ b/apps/enm/serializers.py @@ -1,5 +1,5 @@ from apps.utils.serializers import CustomModelSerializer -from apps.enm.models import Mpoint, MpLog +from apps.enm.models import Mpoint, MpLog, MpointStat from apps.utils.constants import EXCLUDE_FIELDS from rest_framework import serializers @@ -20,4 +20,11 @@ class MpLogSerializer(CustomModelSerializer): class Meta: model = MpLog fields = '__all__' - read_only_fields = EXCLUDE_FIELDS + ['mpoint_name'] \ No newline at end of file + read_only_fields = EXCLUDE_FIELDS + ['mpoint_name'] + + +class MpointStatSerializer(CustomModelSerializer): + mpoint_name = serializers.CharField(source='mpoint.name', read_only=True) + class Meta: + model = MpointStat + fields = '__all__' \ No newline at end of file diff --git a/apps/enm/urls.py b/apps/enm/urls.py index f72278c9..46474499 100644 --- a/apps/enm/urls.py +++ b/apps/enm/urls.py @@ -1,6 +1,6 @@ from django.urls import path, include from rest_framework.routers import DefaultRouter -from apps.enm.views import (MpointViewSet, MpLogViewSet) +from apps.enm.views import (MpointViewSet, MpLogViewSet, MpointStatViewSet) API_BASE_URL = 'api/enm/' HTML_BASE_URL = 'enm/' @@ -8,6 +8,7 @@ HTML_BASE_URL = 'enm/' router = DefaultRouter() router.register('mpoint', MpointViewSet, basename='mpoint') router.register('mplog', MpLogViewSet, basename='mplog') +router.register('mpointstat', MpointStatViewSet, basename='mpointstat') urlpatterns = [ path(API_BASE_URL, include(router.urls)), ] \ No newline at end of file diff --git a/apps/enm/views.py b/apps/enm/views.py index 391ad460..73f4aada 100644 --- a/apps/enm/views.py +++ b/apps/enm/views.py @@ -1,8 +1,8 @@ from django.shortcuts import render -from apps.enm.models import Mpoint, MpLog +from apps.enm.models import Mpoint, MpLog, MpointStat from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet from rest_framework.mixins import ListModelMixin -from apps.enm.serializers import (MpointSerializer, MpLogSerializer) +from apps.enm.serializers import (MpointSerializer, MpLogSerializer, MpointStatSerializer) class MpointViewSet(CustomModelViewSet): @@ -27,4 +27,16 @@ class MpLogViewSet(ListModelMixin, CustomGenericViewSet): queryset = MpLog.objects.all() serializer_class = MpLogSerializer select_related_fields = ['mpoint'] + filterset_fields = ['mpoint'] + + +class MpointStatViewSet(ListModelMixin, CustomGenericViewSet): + """ + list:测点统计记录 + + 测点统计记录 + """ + queryset = MpointStat.objects.all() + serializer_class = MpointStatSerializer + select_related_fields = ['mpoint'] filterset_fields = ['mpoint'] \ No newline at end of file