feat: Mroombooking添加字段
This commit is contained in:
parent
fe499ffac5
commit
bd763be83a
|
@ -0,0 +1,35 @@
|
||||||
|
# Generated by Django 3.2.12 on 2025-09-29 07:51
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('system', '0006_auto_20241213_1249'),
|
||||||
|
('ofm', '0015_alter_vehicle_end_km'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='mroombooking',
|
||||||
|
name='belong_dept',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='mroombooking_belong_dept', to='system.dept', verbose_name='所属部门'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='mroombooking',
|
||||||
|
name='key_participants',
|
||||||
|
field=models.TextField(blank=True, null=True, verbose_name='主要参会领导'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='mroombooking',
|
||||||
|
name='note',
|
||||||
|
field=models.TextField(blank=True, null=True, verbose_name='备注'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='mroombooking',
|
||||||
|
name='participant_count',
|
||||||
|
field=models.PositiveIntegerField(default=0, verbose_name='参会人数'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -25,11 +25,15 @@ class Mroom(CommonADModel):
|
||||||
location = models.CharField('位置', max_length=100)
|
location = models.CharField('位置', max_length=100)
|
||||||
capacity = models.PositiveIntegerField('容纳人数')
|
capacity = models.PositiveIntegerField('容纳人数')
|
||||||
|
|
||||||
class MroomBooking(CommonADModel):
|
class MroomBooking(CommonBDModel):
|
||||||
"""TN: 会议室预定信息"""
|
"""TN: 会议室预定信息"""
|
||||||
|
# belong_dept 是预定部门
|
||||||
title = models.CharField('会议主题', max_length=100)
|
title = models.CharField('会议主题', max_length=100)
|
||||||
ticket = models.ForeignKey('wf.ticket', verbose_name='关联会议室',
|
ticket = models.ForeignKey('wf.ticket', verbose_name='关联会议室',
|
||||||
on_delete=models.SET_NULL, related_name='mrooms_ticket', null=True, blank=True, db_constraint=False)
|
on_delete=models.SET_NULL, related_name='mrooms_ticket', null=True, blank=True, db_constraint=False)
|
||||||
|
note = models.TextField('备注', null=True, blank=True)
|
||||||
|
participant_count = models.PositiveIntegerField('参会人数', default=0)
|
||||||
|
key_participants = models.TextField("主要参会领导", null=True, blank=True)
|
||||||
|
|
||||||
|
|
||||||
class MroomSlot(BaseModel):
|
class MroomSlot(BaseModel):
|
||||||
|
|
|
@ -19,11 +19,14 @@ class MroomBookingSerializer(CustomModelSerializer):
|
||||||
mdate = serializers.DateField(write_only=True, label="预订日期")
|
mdate = serializers.DateField(write_only=True, label="预订日期")
|
||||||
slots = serializers.ListField(child=serializers.IntegerField(), write_only=True, label="时段索引")
|
slots = serializers.ListField(child=serializers.IntegerField(), write_only=True, label="时段索引")
|
||||||
create_by_name = serializers.CharField(source='create_by.username', read_only=True)
|
create_by_name = serializers.CharField(source='create_by.username', read_only=True)
|
||||||
|
create_by_phone = serializers.CharField(source='create_by.phone', read_only=True)
|
||||||
|
belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True)
|
||||||
ticket_ = TicketSimpleSerializer(source='ticket', read_only=True)
|
ticket_ = TicketSimpleSerializer(source='ticket', read_only=True)
|
||||||
class Meta:
|
class Meta:
|
||||||
model = MroomBooking
|
model = MroomBooking
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
read_only_fields = EXCLUDE_FIELDS
|
read_only_fields = EXCLUDE_FIELDS
|
||||||
|
extra_kwargs = {'belong_dept': {'required': True}}
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
mroom = validated_data.pop('mroom')
|
mroom = validated_data.pop('mroom')
|
||||||
|
|
|
@ -28,7 +28,7 @@ class MroomBookingViewSet(CustomModelViewSet):
|
||||||
"""
|
"""
|
||||||
queryset = MroomBooking.objects.all()
|
queryset = MroomBooking.objects.all()
|
||||||
serializer_class = MroomBookingSerializer
|
serializer_class = MroomBookingSerializer
|
||||||
select_related_fields = ["create_by", "ticket"]
|
select_related_fields = ["create_by", "ticket", "belong_dept"]
|
||||||
filterset_class = MroomBookingFilterset
|
filterset_class = MroomBookingFilterset
|
||||||
|
|
||||||
def add_info_for_list(self, data):
|
def add_info_for_list(self, data):
|
||||||
|
|
Loading…
Reference in New Issue