Files
MES_Core/manufacturing/admin.py
2026-04-13 07:36:57 +03:00

53 lines
1.6 KiB
Python

from django.contrib import admin
from .models import BOM, EntityOperation, Operation, ProductEntity
@admin.register(Operation)
class OperationAdmin(admin.ModelAdmin):
list_display = ('name', 'code', 'workshop')
search_fields = ('name', 'code')
list_filter = ('workshop',)
autocomplete_fields = ('workshop',)
class EntityOperationInline(admin.TabularInline):
model = EntityOperation
fields = ('seq', 'operation')
autocomplete_fields = ('operation',)
extra = 5
class BOMChildInline(admin.TabularInline):
"""Состав изделия/сборки (строки BOM) прямо в карточке ProductEntity."""
model = BOM
fk_name = 'parent'
fields = ('child', 'quantity')
autocomplete_fields = ('child',)
extra = 10
@admin.register(ProductEntity)
class ProductEntityAdmin(admin.ModelAdmin):
list_display = (
'drawing_number',
'name',
'entity_type',
'planned_material',
'blank_area_m2',
'blank_length_mm',
)
list_filter = ('entity_type', 'planned_material__category')
search_fields = ('drawing_number', 'name', 'planned_material__name', 'planned_material__full_name')
autocomplete_fields = ('planned_material',)
inlines = (EntityOperationInline, BOMChildInline,)
@admin.register(BOM)
class BOMAdmin(admin.ModelAdmin):
list_display = ('parent', 'child', 'quantity')
search_fields = ('parent__name', 'parent__drawing_number', 'child__name', 'child__drawing_number')
list_filter = ('parent',)
autocomplete_fields = ('parent', 'child')