feat: 添加部分索引

This commit is contained in:
caoqianming 2025-11-26 09:55:05 +08:00
parent 5be3f6fbe5
commit 2fcfae518d
5 changed files with 79 additions and 2 deletions

View File

@ -0,0 +1,19 @@
# Generated by Django 3.2.12 on 2025-11-26 01:53
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('qm', '0054_alter_ptest_val_xj'),
]
operations = [
migrations.AlterField(
model_name='ftestitem',
name='ftest',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='items_ftest', to='qm.ftest', verbose_name='关联检验'),
),
]

View File

@ -0,0 +1,26 @@
# Generated by Django 3.2.12 on 2025-11-26 01:53
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('wpm', '0124_auto_20251020_1009'),
]
operations = [
migrations.AlterField(
model_name='mlogbw',
name='number',
field=models.TextField(db_index=True, verbose_name='单个编号'),
),
migrations.AddIndex(
model_name='mlogb',
index=models.Index(condition=models.Q(('material_out__isnull', False)), fields=['material_out'], name='mlogb_mat_out_not_null'),
),
migrations.AddIndex(
model_name='mlogb',
index=models.Index(condition=models.Q(('material_in__isnull', False)), fields=['material_in'], name='mlogb_mat_in_not_null'),
),
]

View File

@ -441,6 +441,20 @@ class Mlogb(BaseModel):
need_inout = models.BooleanField('是否需要出入库', default=True)
number_from = models.TextField('来源个编号', null=True, blank=True)
class Meta:
indexes = [
models.Index(
fields=["material_out"],
name="mlogb_mat_out_not_null",
condition=Q(material_out__isnull=False),
),
models.Index(
fields=["material_in"],
name="mlogb_mat_in_not_null",
condition=Q(material_in__isnull=False),
),
]
def get_tracking(self):
if self.material_in:
@ -502,7 +516,7 @@ class MlogbDefect(BaseModel):
class Mlogbw(BaseModel):
"""TN: 单个产品生产/检验日志
"""
number = models.TextField('单个编号')
number = models.TextField('单个编号', db_index=True)
mlogb = models.ForeignKey(Mlogb, verbose_name='生产记录', on_delete=models.CASCADE, related_name="w_mlogb")
mlogbw_from = models.ForeignKey("self", verbose_name='来源个', on_delete=models.CASCADE, null=True, blank=True, related_name="w_mlogbw_from")
wpr = models.ForeignKey("wpmw.wpr", verbose_name='关联产品', on_delete=models.SET_NULL

View File

@ -0,0 +1,18 @@
# Generated by Django 3.2.12 on 2025-11-26 01:53
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('wpmw', '0008_wpr_data'),
]
operations = [
migrations.AlterField(
model_name='wpr',
name='number',
field=models.CharField(blank=True, db_index=True, max_length=50, null=True, verbose_name='编号'),
),
]

View File

@ -16,7 +16,7 @@ class Wpr(BaseModel):
TN: 动态产品
"""
number = models.CharField("编号", max_length=50, null=True, blank=True)
number = models.CharField("编号", max_length=50, null=True, blank=True, db_index=True)
number_out = models.CharField("对外编号", max_length=50, null=True, blank=True, unique=True)
version = models.PositiveIntegerField("版本号", default=9999)
state = models.PositiveSmallIntegerField('状态', default=10, choices=WmStateOption.choices)