feat: 测点统计表接口

This commit is contained in:
caoqianming 2023-06-25 17:09:19 +08:00
parent c2ad28ae4b
commit ddd3f6a5f0
3 changed files with 25 additions and 5 deletions

View File

@ -1,5 +1,5 @@
from apps.utils.serializers import CustomModelSerializer 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 apps.utils.constants import EXCLUDE_FIELDS
from rest_framework import serializers from rest_framework import serializers
@ -21,3 +21,10 @@ class MpLogSerializer(CustomModelSerializer):
model = MpLog model = MpLog
fields = '__all__' fields = '__all__'
read_only_fields = EXCLUDE_FIELDS + ['mpoint_name'] 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__'

View File

@ -1,6 +1,6 @@
from django.urls import path, include from django.urls import path, include
from rest_framework.routers import DefaultRouter 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/' API_BASE_URL = 'api/enm/'
HTML_BASE_URL = 'enm/' HTML_BASE_URL = 'enm/'
@ -8,6 +8,7 @@ HTML_BASE_URL = 'enm/'
router = DefaultRouter() router = DefaultRouter()
router.register('mpoint', MpointViewSet, basename='mpoint') router.register('mpoint', MpointViewSet, basename='mpoint')
router.register('mplog', MpLogViewSet, basename='mplog') router.register('mplog', MpLogViewSet, basename='mplog')
router.register('mpointstat', MpointStatViewSet, basename='mpointstat')
urlpatterns = [ urlpatterns = [
path(API_BASE_URL, include(router.urls)), path(API_BASE_URL, include(router.urls)),
] ]

View File

@ -1,8 +1,8 @@
from django.shortcuts import render 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 apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet
from rest_framework.mixins import ListModelMixin from rest_framework.mixins import ListModelMixin
from apps.enm.serializers import (MpointSerializer, MpLogSerializer) from apps.enm.serializers import (MpointSerializer, MpLogSerializer, MpointStatSerializer)
class MpointViewSet(CustomModelViewSet): class MpointViewSet(CustomModelViewSet):
@ -28,3 +28,15 @@ class MpLogViewSet(ListModelMixin, CustomGenericViewSet):
serializer_class = MpLogSerializer serializer_class = MpLogSerializer
select_related_fields = ['mpoint'] select_related_fields = ['mpoint']
filterset_fields = ['mpoint'] filterset_fields = ['mpoint']
class MpointStatViewSet(ListModelMixin, CustomGenericViewSet):
"""
list:测点统计记录
测点统计记录
"""
queryset = MpointStat.objects.all()
serializer_class = MpointStatSerializer
select_related_fields = ['mpoint']
filterset_fields = ['mpoint']