2016-04-29 1 views
1

私が解析するデータの一時記憶域としてmysqlテーブルを使用します。私はテーブルからデータを取得し、変数に保存し、テーブルから行を削除し、モデルのオブジェクト(変数に保存されていたオブジェクト)をテンプレートに持ってきましたが、失敗しました。 QuerySetは怠惰ですが、私はポインタだけでなく、テーブルからデータを取得したいと思います。どのように私はこれを行うことができますか?Djangoクエリーセット。すべての行を変数に保存し、テーブル内の行を削除する

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

関連する問題