2016-04-29 48 views
1

我使用mysql表作为我解析数据的临时存储。我尝试从表中获取数据,将其保存到变量中,从表中删除行并将模型的对象(保存到变量)带到模板中,但不成功。 QuerySet是懒惰的,但我想从表中获取数据,而不仅仅是指针。我如何做到这一点?Django 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}) 

回答

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 

请注意,您需要在删除行之前呈现响应。其次,你不需要逐行删除它(这将是相当低效的)。您可以像上面那样批量删除。

+0

谢谢!它正在工作! – Riko

+0

很高兴能有帮助。 – e4c5