Обновить plan.md
This commit is contained in:
45
plan.md
45
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).
|
||||||
Reference in New Issue
Block a user