feat: qct增加筛选条件
This commit is contained in:
parent
f4c84f0354
commit
4eb8aeca96
|
@ -20,7 +20,12 @@ class QctFilter(filters.FilterSet):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Qct
|
model = Qct
|
||||||
fields = ["testitems", "defects"]
|
fields = {
|
||||||
|
"testitems": ["exact"],
|
||||||
|
"defects": ["exact"],
|
||||||
|
"qctmat__material": ["exact"],
|
||||||
|
"qctmat__tracing": ["exact"],
|
||||||
|
}
|
||||||
|
|
||||||
class TestItemFilter(filters.FilterSet):
|
class TestItemFilter(filters.FilterSet):
|
||||||
tags__contains = filters.CharFilter(field_name='tags', lookup_expr='contains')
|
tags__contains = filters.CharFilter(field_name='tags', lookup_expr='contains')
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
# Generated by Django 3.2.12 on 2024-12-23 02:50
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('qm', '0030_auto_20241220_1544'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='qctdefect',
|
||||||
|
name='qct',
|
||||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='qctdefect', to='qm.qct', verbose_name='质检模板'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='qctmat',
|
||||||
|
name='qct',
|
||||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='qctmat', to='qm.qct', verbose_name='质检模板'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='qcttestitem',
|
||||||
|
name='qct',
|
||||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='qcttestitem', to='qm.qct', verbose_name='质检模板'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -146,20 +146,20 @@ class Qct(CommonAModel):
|
||||||
materials = models.ManyToManyField(Material, verbose_name="物料", blank=True, through='qm.qctmat')
|
materials = models.ManyToManyField(Material, verbose_name="物料", blank=True, through='qm.qctmat')
|
||||||
|
|
||||||
class QctTestItem(BaseModel):
|
class QctTestItem(BaseModel):
|
||||||
qct = models.ForeignKey(Qct, verbose_name="质检模板", on_delete=models.CASCADE)
|
qct = models.ForeignKey(Qct, verbose_name="质检模板", on_delete=models.CASCADE, related_name="qcttestitem")
|
||||||
testitem = models.ForeignKey(TestItem, verbose_name="检测项", on_delete=models.CASCADE, null=True, blank=True)
|
testitem = models.ForeignKey(TestItem, verbose_name="检测项", on_delete=models.CASCADE, null=True, blank=True)
|
||||||
note = models.TextField('备注', null=True, blank=True)
|
note = models.TextField('备注', null=True, blank=True)
|
||||||
sort = models.FloatField('排序', default=1)
|
sort = models.FloatField('排序', default=1)
|
||||||
|
|
||||||
class QctDefect(BaseModel):
|
class QctDefect(BaseModel):
|
||||||
qct = models.ForeignKey(Qct, verbose_name="质检模板", on_delete=models.CASCADE)
|
qct = models.ForeignKey(Qct, verbose_name="质检模板", on_delete=models.CASCADE, related_name="qctdefect")
|
||||||
defect = models.ForeignKey(Defect, verbose_name="缺陷项", on_delete=models.CASCADE)
|
defect = models.ForeignKey(Defect, verbose_name="缺陷项", on_delete=models.CASCADE)
|
||||||
rule_expression = models.TextField('判定表达式', null=True, blank=True)
|
rule_expression = models.TextField('判定表达式', null=True, blank=True)
|
||||||
note = models.TextField('备注', null=True, blank=True)
|
note = models.TextField('备注', null=True, blank=True)
|
||||||
sort = models.FloatField('排序', default=1)
|
sort = models.FloatField('排序', default=1)
|
||||||
|
|
||||||
class QctMat(BaseModel):
|
class QctMat(BaseModel):
|
||||||
qct = models.ForeignKey(Qct, verbose_name="质检模板", on_delete=models.CASCADE)
|
qct = models.ForeignKey(Qct, verbose_name="质检模板", on_delete=models.CASCADE, related_name="qctmat")
|
||||||
material = models.ForeignKey(Material, verbose_name="物料", on_delete=models.CASCADE)
|
material = models.ForeignKey(Material, verbose_name="物料", on_delete=models.CASCADE)
|
||||||
tracing = models.CharField('追溯层级', default=QC_T, choices=QC_TRACE_CHOICES, max_length=20, help_text=str(QC_TRACE_CHOICES))
|
tracing = models.CharField('追溯层级', default=QC_T, choices=QC_TRACE_CHOICES, max_length=20, help_text=str(QC_TRACE_CHOICES))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue