55 lines
2.6 KiB
Markdown
55 lines
2.6 KiB
Markdown
Задача: Создать Django-проект для учета состава изделий (BOM) с иерархией, техпроцессами и системой фильтрации.
|
||
|
||
Технологии: Django 5.x, PostgreSQL, django-mptt, django-filter, Bootstrap 5.
|
||
игнорируй папки .ignore
|
||
|
||
|
||
1. Модель данных:
|
||
|
||
Part (Номенклатура):
|
||
|
||
Поля: Децимальный номер, Наименование, Заготовка (ссылка на stock_materials), Толщина, Длина, Вес, Длина реза, Число проколов.
|
||
|
||
Stock_materials (Заготовки): Обозначение, металл (по умолчанию Ст3),
|
||
|
||
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. Инструкции по коду:
|
||
установи django, django-mptt, django-filter, psycopg2-binary
|
||
|
||
зафиксируй установленные пакеты в requirements.txt
|
||
|
||
создай проект с настройками в папке core
|
||
|
||
Создай приложение Prodman
|
||
|
||
Напиши models.py, filters.py, views.py и urls.py.
|
||
|
||
Создай шаблоны в папке templates/, соблюдая иерархию блоков.
|
||
|
||
В base.html добавь CDN для Bootstrap 5 и FontAwesome.
|