车间库存列表补齐关联字段select_related,消除剩余N+1
WMaterialViewSet 列表序列化查询数从随行数线性增长降为常数1条: - 补 mgroup/material_ofrom/material_origin/defect 的 select_related - material_ofrom/material_origin 用 StringRelatedField(__str__ 取 process.name), 故用 __process 嵌套路径带上工序表, 避免每行回查 mtm_process Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
1e94027e17
commit
4050d41370
|
|
@ -176,7 +176,9 @@ class WMaterialViewSet(CustomCreateModelMixin, DestroyModelMixin, CustomListMode
|
|||
queryset = WMaterial.objects.filter(count__gt=0)
|
||||
serializer_class = WMaterialSerializer
|
||||
create_serializer_class = WMaterialCreateSerializer
|
||||
select_related_fields = ["material", "belong_dept", "material__process", "supplier"]
|
||||
# material_ofrom/material_origin 用 StringRelatedField, 其 __str__ 会取 process.name, 故带上 __process
|
||||
select_related_fields = ["material__process", "belong_dept", "supplier", "mgroup",
|
||||
"material_ofrom__process", "material_origin__process", "defect"]
|
||||
search_fields = ["material__name", "material__specification", "batch", "material__model", "defect__name", "notok_sign"]
|
||||
filterset_class = WMaterialFilter
|
||||
ordering_fields = ["update_time", "state", "count", "count_xtest"]
|
||||
|
|
|
|||
Loading…
Reference in New Issue