feat: attrs on product
This commit is contained in:
@@ -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
|
||||
|
||||
7
barcodes/attributes/additional_info_attribute_getter.py
Normal file
7
barcodes/attributes/additional_info_attribute_getter.py
Normal file
@@ -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
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user