diff --git a/barcodes/attributes/__init__.py b/barcodes/attributes/__init__.py index d320467..93b9619 100644 --- a/barcodes/attributes/__init__.py +++ b/barcodes/attributes/__init__.py @@ -1,3 +1,4 @@ +from .additional_info_attribute_getter import AdditionalInfoAttributeGetter from .article_attribute_getter import ArticleAttributeGetter from .brand_attribute_getter import BrandAttributeGetter from .client_name_attribute_getter import ClientNameAttributeGetter @@ -31,5 +32,7 @@ class AttributeWriterFactory: return CompositionAttributeGetter() case 'size': return SizeAttributeGetter() + case 'additional_info': + return AdditionalInfoAttributeGetter() case _: return None diff --git a/barcodes/attributes/additional_info_attribute_getter.py b/barcodes/attributes/additional_info_attribute_getter.py new file mode 100644 index 0000000..662489e --- /dev/null +++ b/barcodes/attributes/additional_info_attribute_getter.py @@ -0,0 +1,7 @@ +from barcodes.attributes.base import BaseAttributeGetter +from models import Product + + +class AdditionalInfoAttributeGetter(BaseAttributeGetter): + def get_value(self, product: Product): + return product.additional_info diff --git a/models/product.py b/models/product.py index 4091a4c..6c50c28 100644 --- a/models/product.py +++ b/models/product.py @@ -23,6 +23,7 @@ class Product(BaseModel): color = Column(String, nullable=True, comment='Цвет') composition = Column(String, nullable=True, comment='Состав') size = Column(String, nullable=True, comment='Размер') + additional_info = Column(String, nullable=True, comment='Дополнительное поле') class ProductBarcode(BaseModel): diff --git a/schemas/product.py b/schemas/product.py index 374ffb1..10c8193 100644 --- a/schemas/product.py +++ b/schemas/product.py @@ -20,6 +20,7 @@ class ProductSchema(CustomModelCamel): color: str | None = None composition: str | None = None size: str | None = None + additional_info: str | None = None @field_validator('barcodes', mode="before") def barcodes_to_list(cls, v):