From 785fed4b7f37318d1189846e499d72e1eafe9776 Mon Sep 17 00:00:00 2001 From: ackFromRedmi Date: Mon, 16 Feb 2026 08:15:44 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B2=D1=8F=D0=B7=D0=B0=D0=BB=20=D1=81?= =?UTF-8?q?=D0=BA=D0=BB=D0=B0=D0=B4=20=D0=B8=20=D1=81=D0=BF=D0=B5=D1=86?= =?UTF-8?q?=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=86=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0008_item_material_item_weight.py | 25 +++++++++++++++++++ bom_manager/models.py | 13 ++++++++++ core/urls.py | 7 ++++++ 3 files changed, 45 insertions(+) create mode 100644 bom_manager/migrations/0008_item_material_item_weight.py diff --git a/bom_manager/migrations/0008_item_material_item_weight.py b/bom_manager/migrations/0008_item_material_item_weight.py new file mode 100644 index 0000000..ccb6f79 --- /dev/null +++ b/bom_manager/migrations/0008_item_material_item_weight.py @@ -0,0 +1,25 @@ +# Generated by Django 6.0.2 on 2026-02-16 05:14 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('bom_manager', '0007_alter_baseoperation_options'), + ('stock', '0002_gost_alter_basematerial_grade_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='item', + name='material', + field=models.ForeignKey(blank=True, help_text='Выберите тип заготовки для этой детали', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='items', to='stock.basematerial', verbose_name='Материал заготовки'), + ), + migrations.AddField( + model_name='item', + name='weight', + field=models.FloatField(blank=True, default=0, null=True, verbose_name='Вес'), + ), + ] diff --git a/bom_manager/models.py b/bom_manager/models.py index 13c0045..9503fae 100644 --- a/bom_manager/models.py +++ b/bom_manager/models.py @@ -3,6 +3,8 @@ from django.urls import reverse from mptt.models import MPTTModel, TreeForeignKey from polymorphic.models import PolymorphicModel from django.core.exceptions import ValidationError +# импортируем модели из stock +from stock.models import BaseMaterial # Create your models here. # Базовая модель операции @@ -210,7 +212,18 @@ class Item(models.Model): # Технические данные drawing = models.FileField("Чертеж", upload_to='drawings/', blank=True, null=True) + # Связь с заготовкой + material = models.ForeignKey( + 'stock.BaseMaterial', + on_delete=models.SET_NULL, + null=True, + blank=True, + verbose_name="Материал заготовки", + related_name="items", + help_text="Выберите тип заготовки для этой детали" + ) + weight = models.FloatField("Вес", default=0, blank=True, null=True) class Meta: verbose_name = "Компонент" diff --git a/core/urls.py b/core/urls.py index e6e9db0..f4e7d4b 100644 --- a/core/urls.py +++ b/core/urls.py @@ -16,8 +16,15 @@ Including another URLconf """ from django.contrib import admin from django.urls import path, include +from django.conf import settings +from django.conf.urls.static import static urlpatterns = [ path('admin/', admin.site.urls), path('', include('bom_manager.urls')), ] + +# Вместо if settings.DEBUG: +if settings.ENV_TYPE in ['local', 'dev']: + urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) \ No newline at end of file