feat: mlog 添加索引

This commit is contained in:
caoqianming 2025-08-27 15:35:04 +08:00
parent ebe0e4cc6a
commit fa243faf34
3 changed files with 32 additions and 5 deletions

View File

@ -0,0 +1,24 @@
# Generated by Django 3.2.12 on 2025-08-27 07:22
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('wpm', '0121_auto_20250723_0912'),
]
operations = [
migrations.AlterField(
model_name='mlog',
name='create_time',
field=models.DateTimeField(db_index=True, default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间'),
),
migrations.AlterField(
model_name='mlog',
name='handle_date',
field=models.DateField(blank=True, db_index=True, null=True, verbose_name='操作日期'),
),
]

View File

@ -15,6 +15,7 @@ from django.db import transaction
from django.db.models import Max
import re
from django.db.models import Q
import django.utils.timezone as timezone
# Create your models here.
class SfLog(CommonADModel):
@ -198,7 +199,7 @@ class Mlog(CommonADModel):
mtask = models.ForeignKey(
Mtask, verbose_name='关联任务', on_delete=models.CASCADE, null=True, blank=True, related_name='mlog_mtask')
mgroup = models.ForeignKey(
Mgroup, verbose_name='工段', on_delete=models.CASCADE, null=True, blank=True)
Mgroup, verbose_name='工段', on_delete=models.CASCADE, null=True, blank=True, db_index=True)
wm_in = models.ForeignKey(WMaterial, verbose_name='投入物料所在库存', on_delete=models.SET_NULL, null=True, blank=True, related_name='mlog_wm_in')
material_in = models.ForeignKey(
Material, verbose_name='消耗物', on_delete=models.CASCADE, null=True, blank=True, related_name='mlog_material_in')
@ -267,10 +268,10 @@ class Mlog(CommonADModel):
count_n_b = models.DecimalField('', default=0, max_digits=11, decimal_places=1) # 光芯七车间
count_n_qt = models.DecimalField('其他', default=0, max_digits=11, decimal_places=1)
handle_date = models.DateField('操作日期', null=True, blank=True)
handle_date = models.DateField('操作日期', null=True, blank=True, db_index=True)
team = models.ForeignKey(Team, verbose_name='班组', on_delete=models.SET_NULL, null=True, blank=True)
handle_user = models.ForeignKey(
User, verbose_name='操作人', on_delete=models.CASCADE, related_name='mlog_handle_user', null=True, blank=True) # 成型人
User, verbose_name='操作人', on_delete=models.CASCADE, related_name='mlog_handle_user', null=True, blank=True, db_index=True) # 成型人
handle_user_2 = models.ForeignKey(
User, verbose_name='操作人2', on_delete=models.CASCADE, related_name='mlog_handle_user_2', null=True, blank=True) # 切料人
handle_users = models.ManyToManyField(
@ -292,7 +293,9 @@ class Mlog(CommonADModel):
test_user = models.ForeignKey(
User, verbose_name='检验人', on_delete=models.CASCADE, null=True, blank=True, related_name='mlog_test_user')
test_time = models.DateTimeField('检验时间', null=True, blank=True)
create_time = models.DateTimeField(
default=timezone.now, verbose_name='创建时间', help_text='创建时间', db_index=True)
@property
def mlogb(self):
return Mlogb.objects.filter(mlog=self).exclude(material_out=None)

View File

@ -1043,7 +1043,7 @@ class MlogbwViewSet(CustomModelViewSet):
@action(methods=['post'], detail=False, perms_map={'post': 'mlog.update'}, serializer_class=MlogbwStartTestSerializer)
@transaction.atomic
def start_test(self, request, *args, **kwargs):
sr = self.get_serializer(data=request.data)
sr = MlogbwStartTestSerializer(data=request.data)
sr.is_valid(raise_exception=True)
sr.save()
return Response()