Files
crmApi/apps/shop/views/excel_import.py
T
2024-02-07 10:40:45 +03:30

40 lines
1.4 KiB
Python

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'})