input_df = pd.read_excel(uploadedfile)
variable_column = code
search_type = 'icontains'
filter = variable_column + '__' + search_type
li = []
for i in input_df["KT_DB"]:
qset=KT_DB.objects.filter(**{ filter: i})
df = pd.DataFrame.from_records(qset.values())
li.append(df)
frame = pd.concat(li, axis=0, ignore_index=True)
with BytesIO() as b:
# Use the StringIO object as the filehandle.
writer = pd.ExcelWriter(b, engine='xlsxwriter')
frame.to_excel(writer, sheet_name = 'Sheet1', index = False)
writer.save()
filename = 'KW'
content_type = 'application/vnd.ms-excel'
response = HttpResponse(b.getvalue(), content_type=content_type)
response['Content-Disposition'] = 'attachment; filename="' + filename + '.xlsx"'
return response
here, filter multiple keywords from the database table, it takes more time to execute. getting request time out before function executes.