40 lines
1.4 KiB
Python
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'})
|
|
|