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')