from rest_framework.views import APIView from rest_framework.response import Response import pandas as pd from apps.shop.models import Product as ProductModel, ProductCategory as ProductCategoryModel from apps.workspace.models import Workspace as WorkspaceModel import os class ImportExcelView(APIView): def get(self, request): df = pd.read_excel('pe.xlsx') for index, row in df.iterrows(): cate_name = row['cate_name'] order_cat = row['order_cat'] acc_code = row['acc_code'] prd_name = row['prd_name'] order_prd = row['order_prd'] vahed = row['vahed'] workspace = WorkspaceModel.objects.get(id=2) try: prd_ct = ProductCategoryModel.objects.get(name=cate_name, sys_ws=workspace, order_cat=order_cat) except ProductCategoryModel.DoesNotExist as exp: prd_ct = ProductCategoryModel.objects.create(name=cate_name, sys_ws=workspace, order_cat=order_cat) new_product = ProductModel() new_product.name = prd_name new_product.price = 0 new_product.category = ProductCategoryModel.objects.get(id=prd_ct.id) new_product.acc_code = acc_code new_product.order_prd = order_prd new_product.attr = {"acc_vahed": vahed} new_product.sys_ws = workspace new_product.save() return Response(data={"result": 'ok'})