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)