我使用mysql表作为我解析的数据的临时存储。我试图从表中获取数据,将其保存到变量中,从表中删除行并将模型的对象(保存到变量中)保存到模板中,但不成功。 QuerySet是懒惰的,但我想从表中获取数据,而不仅仅是指针。我怎么能这样做?
fop_rating = Edata.objects.values('recipt_name').filter(recipt_edrpou='xxxxxxxxxx').annotate(total=Sum('amount')).order_by('-total')[:10]
uric_rating = Edata.objects.values('recipt_name').exclude(recipt_edrpou='xxxxxxxxxx').annotate(total=Sum('amount')).order_by('-total')[:10]
rows = Edata.objects.filter(rand_ind=rand_ind)
for r in rows: # delete all the rows
r.delete()
return render(request,'edata/index.html',{"data":data,'fop_rating':fop_rating,'uric_rating':uric_rating})
答案 0 :(得分:2)
您的代码需要稍作更改。
resp = render(request,'edata/index.html',
{"data":data,'fop_rating':fop_rating,'uric_rating':uric_rating})
Edata.objects.filter(rand_ind=rand_ind).delete()
return resp
请注意,您需要在删除行之前呈现响应。其次,您不需要逐行删除它(这将是相当低效的)。您可以按上述方式批量删除。