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)
|
||||
capacity = models.PositiveIntegerField('容纳人数')
|
||||
|
||||
class MroomBooking(CommonADModel):
|
||||
class MroomBooking(CommonBDModel):
|
||||
"""TN: 会议室预定信息"""
|
||||
# belong_dept 是预定部门
|
||||
title = models.CharField('会议主题', max_length=100)
|
||||
ticket = models.ForeignKey('wf.ticket', verbose_name='关联会议室',
|
||||
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):
|
||||
|
|
|
@ -19,11 +19,14 @@ class MroomBookingSerializer(CustomModelSerializer):
|
|||
mdate = serializers.DateField(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_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)
|
||||
class Meta:
|
||||
model = MroomBooking
|
||||
fields = '__all__'
|
||||
read_only_fields = EXCLUDE_FIELDS
|
||||
extra_kwargs = {'belong_dept': {'required': True}}
|
||||
|
||||
def create(self, validated_data):
|
||||
mroom = validated_data.pop('mroom')
|
||||
|
|
|
@ -28,7 +28,7 @@ class MroomBookingViewSet(CustomModelViewSet):
|
|||
"""
|
||||
queryset = MroomBooking.objects.all()
|
||||
serializer_class = MroomBookingSerializer
|
||||
select_related_fields = ["create_by", "ticket"]
|
||||
select_related_fields = ["create_by", "ticket", "belong_dept"]
|
||||
filterset_class = MroomBookingFilterset
|
||||
|
||||
def add_info_for_list(self, data):
|
||||
|
|
Loading…
Reference in New Issue