Первая попытка модельки
This commit is contained in:
49
plan.md
Normal file
49
plan.md
Normal file
@@ -0,0 +1,49 @@
|
||||
Задача: Создать Django-проект для учета состава изделий (BOM) с иерархией, техпроцессами и системой фильтрации.
|
||||
|
||||
Технологии: Django 5.x, PostgreSQL, django-mptt, django-filter, Bootstrap 5.
|
||||
игнорируй папки .ignore
|
||||
|
||||
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. Инструкции по коду:
|
||||
создай проект с настройками в папке 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).
|
||||
Reference in New Issue
Block a user