2.5 KiB
Задача: Создать Django-проект для учета состава изделий (BOM) с иерархией, техпроцессами и системой фильтрации.
Технологии: Django 5.x, PostgreSQL, django-mptt, django-filter, Bootstrap 5. игнорируй папки .ignore
- Модель данных:
Part (Номенклатура):
Поля: Децимальный номер, Наименование, Тип заготовки (Choices: Лист, Труба, Круг, Уголок и др.), Толщина, Длина, Вес, Длина реза, Число проколов.
ProductStructure (Дерево состава): * MPTTModel. Поля: parent, item (FK на Part), quantity.
ProductionOperation (Техпроцесс):
FK на Part. Поля: Тип операции (Choices: Лазер, Сварка, Покраска и др.), Время, Описание.
- Система фильтрации (Django-filter):
Создать PartFilter, который позволит фильтровать список деталей по:
Типу заготовки (выпадающий список).
Диапазону толщины (от и до).
Поиску по наименованию и децимальному номеру (регистронезависимый поиск).
- Интерфейс и Шаблоны (Bootstrap 5):
Структура Layout: Разделить на base.html, _navbar.html (fixed-top), _footer.html (sticky footer через Flexbox min-vh-100).
Страница списка деталей: Слева или сверху — узкая панель с фильтрами, справа — таблица с результатами.
Страница изделия: Визуальное дерево состава (используя mptt-tags и рекурсию) с выводом суммарных характеристик.
Админка: Настроить TabularInline для ProductionOperation внутри PartAdmin.
- Инструкции по коду: создай проект с настройками в папке core
Создай приложение Prodman
Напиши models.py, filters.py, views.py и urls.py.
Создай шаблоны в папке templates/, соблюдая иерархию блоков.
В base.html добавь CDN для Bootstrap 5 и FontAwesome.
Напиши requirements.txt (включи django, django-mptt, django-filter, psycopg2-binary).