diff --git a/plan.md b/plan.md index e69de29..305563e 100644 --- a/plan.md +++ b/plan.md @@ -0,0 +1,45 @@ +Задача: Создать Django-проект для учета состава изделий (BOM) с иерархией, техпроцессами и системой фильтрации. + +Технологии: Django 5.x, PostgreSQL, django-mptt, django-filter, Bootstrap 5. + +1. Модель данных: + +Part (Номенклатура): + +Поля: Наименование, Децимальный номер, Тип заготовки (Choices: Лист, Труба, Круг, Уголок и др.), Толщина, Длина, Вес, Длина реза, Число проколов. + +ProductStructure (Дерево состава): * MPTTModel. Поля: parent, item (FK на Part), quantity. + +ProductionOperation (Техпроцесс): + +FK на Part. Поля: Тип операции (Choices: Лазер, Сварка, Покраска и др.), Время, Описание. + +2. Система фильтрации (Django-filter): + +Создать PartFilter, который позволит фильтровать список деталей по: + +Типу заготовки (выпадающий список). + +Диапазону толщины (от и до). + +Поиску по наименованию и децимальному номеру (регистронезависимый поиск). + +3. Интерфейс и Шаблоны (Bootstrap 5): + +Структура Layout: Разделить на base.html, _navbar.html (fixed-top), _footer.html (sticky footer через Flexbox min-vh-100). + +Страница списка деталей: Слева или сверху — узкая панель с фильтрами, справа — таблица с результатами. + +Страница изделия: Визуальное дерево состава (используя mptt-tags и рекурсию) с выводом суммарных характеристик. + +Админка: Настроить TabularInline для ProductionOperation внутри PartAdmin. + +4. Инструкции по коду: + +Напиши models.py, filters.py, views.py и urls.py. + +Создай шаблоны в папке templates/, соблюдая иерархию блоков. + +В base.html добавь CDN для Bootstrap 5 и FontAwesome. + +Напиши requirements.txt (включи django, django-mptt, django-filter, psycopg2-binary). \ No newline at end of file