From de99f85259848349f735aeb54bbd04af45d09d43 Mon Sep 17 00:00:00 2001 From: zty Date: Sun, 28 Sep 2025 14:16:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20ofm-models=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=BD=A6=E8=BE=86=E8=A1=A8=E7=9A=84=E5=AD=97=E6=AE=B5=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migrations/0015_alter_vehicle_end_km.py | 18 ++++++++++++++++++ apps/ofm/models.py | 6 ++++-- 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 apps/ofm/migrations/0015_alter_vehicle_end_km.py diff --git a/apps/ofm/migrations/0015_alter_vehicle_end_km.py b/apps/ofm/migrations/0015_alter_vehicle_end_km.py new file mode 100644 index 00000000..53a1ecca --- /dev/null +++ b/apps/ofm/migrations/0015_alter_vehicle_end_km.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.12 on 2025-09-28 06:15 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ofm', '0014_auto_20250928_1023'), + ] + + operations = [ + migrations.AlterField( + model_name='vehicle', + name='end_km', + field=models.PositiveIntegerField(blank=True, null=True, verbose_name='归还公里数'), + ), + ] diff --git a/apps/ofm/models.py b/apps/ofm/models.py index 7bf1c4dd..806ebb4d 100644 --- a/apps/ofm/models.py +++ b/apps/ofm/models.py @@ -76,15 +76,17 @@ class Vehicle(CommonBDModel): via = models.CharField('途经地点', null=True, blank=True, max_length=100) destination = models.CharField('到达地点', null=True, blank=True, max_length=100) start_km = models.PositiveIntegerField('出发公里数') - end_km = models.PositiveIntegerField('归还公里数') + end_km = models.PositiveIntegerField('归还公里数', null=True, blank=True) actual_km = models.PositiveIntegerField('实际行驶公里数', editable=False) is_city = models.BooleanField('是否市内用车', default=True) reason = models.CharField('用车事由', max_length=100) ticket = models.ForeignKey('wf.ticket', verbose_name='关联工单', on_delete=models.SET_NULL, related_name='vehicle_ticket', null=True, blank=True, db_constraint=False) def save(self, *args, **kwargs): - if self.end_km and self.start_km: + if self.end_km: self.actual_km = self.end_km - self.start_km + else: + self.actual_km = 0 return super().save(*args, **kwargs)