diff --git a/apps/vm/migrations/0006_visit_vehicle_photos.py b/apps/vm/migrations/0006_visit_vehicle_photos.py new file mode 100644 index 00000000..e76be0e8 --- /dev/null +++ b/apps/vm/migrations/0006_visit_vehicle_photos.py @@ -0,0 +1,19 @@ +# Generated by Django 3.2.12 on 2023-03-13 09:39 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('system', '0002_myschedule'), + ('vm', '0005_auto_20221010_1013'), + ] + + operations = [ + migrations.AddField( + model_name='visit', + name='vehicle_photos', + field=models.ManyToManyField(blank=True, related_name='v_v_photos', to='system.File', verbose_name='车辆照片'), + ), + ] diff --git a/apps/vm/models.py b/apps/vm/models.py index 654eef74..8114803c 100644 --- a/apps/vm/models.py +++ b/apps/vm/models.py @@ -46,6 +46,7 @@ class Visit(CommonBDModel): visit_time = models.DateTimeField('来访时间') leave_time = models.DateTimeField('离开时间') count_people = models.PositiveSmallIntegerField('来访人数', null=True, blank=True) + vehicle_photos = models.ManyToManyField('system.file', verbose_name='车辆照片', related_name='v_v_photos', blank=True) receptionist = models.ForeignKey(User, verbose_name='接待人', on_delete=models.CASCADE, null=True, blank=True) visitors = models.ManyToManyField('vm.visitor', through='vm.vpeople', related_name='v_visitors') ticket = models.ForeignKey(Ticket, verbose_name='关联工单', diff --git a/apps/vm/serializers.py b/apps/vm/serializers.py index 991aebc7..3c65f900 100644 --- a/apps/vm/serializers.py +++ b/apps/vm/serializers.py @@ -11,7 +11,7 @@ from rest_framework.exceptions import ParseError from django.db import transaction from apps.third.dahua import dhClient from apps.third.tapis import dhapis -from apps.system.serializers import UserSimpleSerializer +from apps.system.serializers import UserSimpleSerializer, FileSerializer from apps.wf.serializers import TicketSerializer @@ -19,7 +19,7 @@ class VisitCreateUpdateSerializer(CustomModelSerializer): class Meta: model = Visit fields = ['id', 'purpose', 'name', 'description', 'visit_time', - 'leave_time', 'receptionist', 'company', 'level', 'count_people'] + 'leave_time', 'receptionist', 'company', 'level', 'count_people', 'vehicle_photos'] def create(self, validated_data): receptionist = validated_data.get('receptionist', None) @@ -139,6 +139,7 @@ class VisitDetailSerializer(CustomModelSerializer): source='receptionist.name', read_only=True) visitors_ = serializers.SerializerMethodField() ticket_ = TicketSerializer(source='ticket', read_only=True) + vehicle_photos_ = FileSerializer(source='vehicle_photos', read_only=True, many=True) class Meta: model = Visit