From 8789896800496c8392f4455c3c950a8c6dd00a8d Mon Sep 17 00:00:00 2001 From: caoqianming Date: Sat, 18 Jun 2022 09:13:37 +0800 Subject: [PATCH] =?UTF-8?q?speakers=E5=8F=AF=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0002_alter_eventcate_speakers.py | 19 +++++++++++++++++++ apps/ecm/models.py | 2 +- apps/ecm/serializers.py | 9 ++++++++- apps/ecm/views.py | 5 +++-- 4 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 apps/ecm/migrations/0002_alter_eventcate_speakers.py diff --git a/apps/ecm/migrations/0002_alter_eventcate_speakers.py b/apps/ecm/migrations/0002_alter_eventcate_speakers.py new file mode 100644 index 00000000..851133f7 --- /dev/null +++ b/apps/ecm/migrations/0002_alter_eventcate_speakers.py @@ -0,0 +1,19 @@ +# Generated by Django 3.2.12 on 2022-06-17 09:40 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('third', '0001_initial'), + ('ecm', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='eventcate', + name='speakers', + field=models.ManyToManyField(blank=True, to='third.TDevice', verbose_name='固定音响'), + ), + ] diff --git a/apps/ecm/models.py b/apps/ecm/models.py index 58ea3d2a..dc9f2de0 100644 --- a/apps/ecm/models.py +++ b/apps/ecm/models.py @@ -20,7 +20,7 @@ class EventCate(CommonAModel): name = models.CharField('名称', max_length=20, unique=True) trigger = models.PositiveSmallIntegerField('触发方式', default=10, choices=EVENT_TRIGGER_CHOICES) speaker_on = models.BooleanField('开启音响报警', default=True) - speakers = models.ManyToManyField(TDevice, verbose_name='固定音响') + speakers = models.ManyToManyField(TDevice, verbose_name='固定音响', blank=True) filter_area_level = models.PositiveSmallIntegerField('固定音响区域级别过滤', choices=Area.AREA_LEVEL_CHOICES, default=Area.AREA_LEVEL_1) diff --git a/apps/ecm/serializers.py b/apps/ecm/serializers.py index 3783c02e..24ac6a63 100644 --- a/apps/ecm/serializers.py +++ b/apps/ecm/serializers.py @@ -3,11 +3,18 @@ from apps.ecm.models import EventCate, Remind, NotifySetting, Event from apps.utils.serializers import CustomModelSerializer from rest_framework import serializers from apps.system.serializers import UserSimpleSerializer +from apps.utils.constants import EXCLUDE_FIELDS + + +class EventCateCreateUpdateSerializer(CustomModelSerializer): + class Meta: + model = EventCate + exclude = EXCLUDE_FIELDS class EventCateSimpleSerializer(CustomModelSerializer): class Meta: - model = Event + model = EventCate fields = ['id', 'name', 'code'] diff --git a/apps/ecm/views.py b/apps/ecm/views.py index 22c32814..2a6d9692 100644 --- a/apps/ecm/views.py +++ b/apps/ecm/views.py @@ -1,6 +1,6 @@ from apps.ecm.models import Event, EventCate, Remind, NotifySetting -from apps.ecm.serializers import (EventCateListSerializer, EventCateUpdateSerializer, EventHandleSerializer, +from apps.ecm.serializers import (EventCateCreateUpdateSerializer, EventCateListSerializer, EventCateUpdateSerializer, EventHandleSerializer, EventSerializer, RemindSerializer, NotifySettingsSerializer) from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from rest_framework.mixins import UpdateModelMixin, ListModelMixin, RetrieveModelMixin, CreateModelMixin @@ -16,7 +16,8 @@ class EventCateViewSet(CreateModelMixin, UpdateModelMixin, ListModelMixin, Custo perms_map = {'put': 'event_cate:update', 'post': 'event_cate:create'} queryset = EventCate.objects.all() list_serializer_class = EventCateListSerializer - update_serializer_class = EventCateUpdateSerializer + create_serializer_class = EventCateCreateUpdateSerializer + update_serializer_class = EventCateCreateUpdateSerializer serializer_class = EventCateListSerializer