def create_update_product(self, data): field_values = data[0:len(self.FIELDS)] values = [item.value for item in field_values] values = dict(zip(self.FIELDS, values)) try: product = Product.objects.get(id=values[self.ID]) self.statistics['updated'] += 1 except Product.DoesNotExist: product = Product() p_class = ProductClass.objects.get(name=values[self.PRODUCT_CLASS]) product.product_class = p_class self.statistics['created'] += 1 categories = Category.objects.filter( id__in=self._get_categories(values[self.CATEGORY])) ProductCategory.objects.filter(product=product).delete() for category in categories: product_category = ProductCategory() product_category.product = product product_category.category = category product_category.save() product.title = values[self.TITLE] product.description = values[self.DESCRIPTION] product.upc = values[self.UPC] product.save() self.save_product_attributes(product, data) return product
def populate(): title = 'Petzo Nourish Box' slug = 'petzo-nourish-box' description = {} product_class = ProductClass.objects.get(name='Food') product_category = Category.objects.get(name='Food') structure = Product.STANDALONE partner = Partner.objects.get(name='Petzo India Pvt Ltd') product = Product() product.structure = Product.STANDALONE product.title = title product.slug = slug product.product_class = product_class stockRecord = StockRecord() stockRecord.partner = partner stockRecord.price_currency = 'INR' stockRecord.num_in_stock = 100 with open('list.csv', 'rb') as csvFile: reader = csv.reader(csvFile, delimiter=',') reader.next() for row in reader: sku = row[0] stockRecord.partner_sku = sku product.upc = sku product.description = row[5] + '\n' + row[6] product.save() pc = ProductCategory.objects.create(product=product, category=product_category) pc.save()