有导入功能的models,删除数据报错

来源:13-8 excel导入插件介绍

干课人

2019-05-23

老师,我这边添加了导入Excel的功能,Excel可以正常导入。
但是添加了导入功能的models,我直接点进去信息,然后执行删除,会发生报错。

导入逻辑如下:
def post(self, request, *args, **kwargs):
cluster = Harddisk()
if ‘excel’ in request.FILES:
form = UploadExcelForm(request.POST, request.FILES)
if form.is_valid():
wb = xlrd.open_workbook(
filename=None, file_contents=request.FILES[‘excel’].read()) # 关键点在于这里
# 获取excel第一个表
table = wb.sheets()[0]
# 获取该表行数
row = table.nrows
print(maxid)
# 第一行一般为表头,故从该表第二行开始循环取值
for i in range(1, row):
maxid = Cluster.objects.all().aggregate(Max(‘id’))[‘id__max’]
maxid += 1
cluster.id = maxid
cluster.disktype = table.row_values(i)[1]
cluster.israid = table.row_values(i)[2]
cluster.raidtype = table.row_values(i)[3]
cluster.diskdesc = table.row_values(i)[4]
cluster.save()
return super(HarddiskAdmin, self).post(request, args, kwargs)

报错截图如下:

图片描述

写回答

1回答

bobby

2019-05-24

如果没有添加excel的话删除会报错吗? 因为xadmin中以及提供了导入和导出的功能可以直接使用xadmin本身提供的插件,可以看看这个源码中有具体的用法 https://github.com/sshwsfc/xadmin/blob/master/xadmin/plugins/importexport.py

0
0

Python3.6+django+xadmin,打造在线教育平台

【毕设】Python 2.7到3.6 完美适配,Django升级2.0

3677 学习 · 4038 问题

查看课程