Исходный код cdek.apps.models.package
from __future__ import annotations
from typing import Any
from pydantic import BaseModel, Field
from .item import Item
[документация]
class CalcPackage(BaseModel):
weight: int | None = Field(None, description="Вес упаковки в граммах")
length: int | None = Field(None, description="Длина упаковки в сантиметрах")
width: int | None = Field(None, description="Ширина упаковки в сантиметрах")
height: int | None = Field(None, description="Высота упаковки в сантиметрах")
[документация]
class Package(CalcPackage):
number: str = Field(..., description="Номер упаковки")
weight: int = Field(..., description="Вес упаковки в граммах")
comment: str | None = Field(None, description="Комментарий к упаковке")
items: list[Item] | None = Field(None, description="Позиции товаров в упаковке")
package_id: str | None = Field(
None, description="Уникальный номер упаковки в ИС СДЭК"
)
[документация]
def add_item(self, **kwargs: Any) -> Item:
"""Добавить товар в упаковку и вернуть созданный объект"""
item = Item(**kwargs)
if self.items is None:
self.items = []
self.items.append(item)
return item