@action(methods=['post'], detail=False)
def excel_file(self, request, *args, **kwargs):
file_obj = request.FILES.get("file")
if not file_obj:
raise OperateError("上传文件为空")
data = get_data(file_obj)
value = list(data.values())
release = value[0][0][0]
release_version = release.split('/')[0]
release_time = release.split('/')[1]
value.pop(0).pop(0)
if not Release.objects.filter(release_version=release_version).exists():
release = Release.objects.create(release_version=release_version, release_time=release_time)
else:
release = Release.objects.filter(release_version=release_version).first()
for i in value:
component = Component.objects.filter(name=i[0], version=i[1]).first()
if component:
if ComRelation.objects.filter(release=release.id, component=component.id).count() == 0:
ComRelation.objects.create(release_id=release.id, component_id=component.id)
else:
component = Component.objects.create(name=i[0], version=i[1])
ComRelation.objects.create(release_id=release.id, component_id=component.id)
pass
return Response(status=201)
09-01
1582
09-05
634
05-02