def save(cls, request: Request, *args, **kwargs): """ Метод для сохранения товара :param request: :param kwargs: :return: """ if request.get("id", False): item = catalog.get_item(int(request.get("id"))) else: item = Item() item.title = request.get("title") item.article = request.get("article") item.short = request.get("short") item.imgs = request.get("imgs", []) item.body = request.get("body", "") item.tags = request.get("tags", []) item.categories = request.get("categories", []) item.cost = int(request.get("cost", 0)) if str(request.get("cost")).isnumeric() else None item.discount = int(request.get("discount")) if str(request.get("discount")).isnumeric() else None item.quantity = int(request.get("quantity")) if str(request.get("quantity")).isnumeric() else None item.set_attributes(request.get("attributes", [])) return {"item_id": item.save()}