def post(self): data = parser.parse_args() product = ProductModel(data['name'], data['description'], data['price'], data['parent_id']) try: product.save() except Exception as e: return {'message': 'An error occurred inserting into db: {}'.format(e)}, 500 return product.json(), 201
def post(self): try: data = request.get_json() item = ProductModel() for parameter in data: setattr(item, parameter, data[parameter]) item.save() return "success", 201 except: return "error", 401
def test_save_product(self): products = len(ProductModel.list()) new_product = ProductModel() new_product.name = "Produto 02" new_product.provider = ProviderModel.get_by_cnpj("04790618000153") new_product.quantity = 100 new_product.price = 10.0 new_product.available = True new_product.save() assert products + 1 == len(ProductModel.list())
def first_product(): if ProviderModel.get_by_cnpj("04790618000153") == None: first_provider() return new_product = ProductModel() new_product.name = "Produto 01" new_product.provider = ProviderModel.get_by_cnpj("04790618000153") new_product.quantity = 100 new_product.price = 10.0 new_product.available = True new_product.save() return
def put(self, _id): data = parser.parse_args() product = ProductModel.find_by_id(_id) status = 200 if product: product.name = data['name'] product.description = data['description'] product.price = data['price'] else: product = ProductModel( data['name'], data['description'], data['price'], data['parent_id'] ) status = 201 product.save() return product.json(), status
def get_product(name, url): resp = requests.get( f'https://api.rainforestapi.com/request?api_key={API_KEY}&type=bestsellers&url={url}' ) request_dictionary = resp.json() products_list = request_dictionary['bestsellers'] print(f'Updating postgres details for {name}') for item in range(len(products_list)): try: product = ProductModel( title=products_list[item]['title'], rating=products_list[item]['rating'], category=products_list[item]['current_category']['name'], price=products_list[item]["price"]["value"], currency=products_list[item]['price']['currency'], symbol=products_list[item]['price']['symbol'], image=products_list[item]['image']) except: continue product.save()
def addGoods(self, request): """添加商品""" if request.method == "GET": g3Category = ProductCategoryModel.objects.get( id=request.GET.get("categoryId")) g2Category = ProductCategoryModel.objects.get( id=g3Category.parentId) g1Category = ProductCategoryModel.objects.get( id=g2Category.parentId) propertyMetas = g3Category.propertyMetas.all() self.context["category"] = { "g1": g1Category, "g2": g2Category, "g3": g3Category } self.context["propertyMetas"] = propertyMetas elif request.method == "POST": self.response_["type"] = self.RESPONSE_TYPE_JSON keys = ("name", "price", "amount", "description", "brand", "status", "categoryId", "thumbnail") dict = {} for key in keys: dict[key] = request.POST.get(key) category = ProductCategoryModel.objects.get(id=dict["categoryId"]) del dict["categoryId"] dict["category"] = category seller = SellerModel.objects.get(id=request.session["user"]["id"]) dict["seller"] = seller if dict["status"] == str(ProductModel.ONSHELVE): dict["onShelveTime"] = datetime.now() try: goods = ProductModel(**dict) goods.save() except Exception as e: self.context = { "code": 4, "msg": "请输入有效信息", "data": { "error": str(e) } } else: uploadImageIds = request.POST.getlist("uploadImages[]") for imageId in uploadImageIds: goods.images.add(ProductImageModel.objects.get(id=imageId)) propertyMetas = category.propertyMetas.all() for meta in propertyMetas: property = { "meta": meta, "value": request.POST.get("properties[" + str(meta.id) + "]") } goods.properties.create(**property) self.context = { "code": 200, "msg": "添加商品成功", "data": { "id": goods.id } }