def import_xlsx(filename): ''' Importa planilhas xlsx. ''' workbook = xlrd.open_workbook(filename) sheet = workbook.sheet_by_index(0) fields = ('produto', 'ncm', 'importado', 'preco', 'estoque', 'estoque_minimo') categorias = [] for row in range(1, sheet.nrows): categoria = sheet.row(row)[6].value categorias.append(categoria) categorias_unicas = [ Categoria(categoria=categoria) for categoria in set(categorias) if categoria ] Categoria.objects.bulk_create(categorias_unicas) aux = [] for row in range(1, sheet.nrows): produto = sheet.row(row)[0].value ncm = int(sheet.row(row)[1].value) _importado = sheet.row(row)[2].value importado = True if _importado == 'True' else False preco = sheet.row(row)[3].value estoque = sheet.row(row)[4].value estoque_minimo = sheet.row(row)[5].value _categoria = sheet.row(row)[6].value categoria = Categoria.objects.filter(categoria=_categoria).first() produto = dict( produto=produto, ncm=ncm, importado=importado, preco=preco, estoque=estoque, estoque_minimo=estoque_minimo, ) if categoria: obj = Produto(categoria=categoria, **produto) else: obj = Produto(**produto) aux.append(obj) Produto.objects.bulk_create(aux)
def create_produtos(produtos): Produto.objects.all().delete() aux = [] for produto in produtos: data = dict(produto=produto, importado=choice((True, False)), ncm=Utils.digits_generator(8), preco=random() * randint(10, 50), estoque=randint(10, 200)) obj = Produto(**data) aux.append(obj) Produto.objects.bulk_create(aux)
def criar_produtos(produtos): Produto.objects.all().delete() aux = [] for produto in produtos: data = dict( produto=produto, disponivel=choice((True, False)), #ncm=Utils.gen_digits(8), preco=random() * randint(10, 50), estoque=randint(10, 200), ) obj = Produto(**data) aux.append(obj) Produto.objects.bulk_create(aux)
def save_data(data): ''' Salva os dados no banco. ''' aux = [] for item in data: produto = item.get('produto') ncm = str(item.get('ncm')) importado = True if item.get('importado') == 'True' else False preco = item.get('preco') estoque = item.get('estoque') estoque_minimo = item.get('estoque_minimo') obj = Produto( produto=produto, ncm=ncm, importado=importado, preco=preco, estoque=estoque, estoque_minimo=estoque_minimo, ) aux.append(obj) Produto.objects.bulk_create(aux)