2016-09-27 15 views
0

HIガイズ私は私のようなデータをフィルタリングジャンゴでフィルタクエリを書きたい、このDjangoのフィルタクエリの曜日(連続して月の木曜日に金曜日)

Date  Day   Amount 
------------------------------ 
01/09/2016 Thursday 2500 
02/09/2016 Friday  300 
03/09/2016 Saturday 600 
04/09/2016 Sunday  7500 
05/09/2016 Monday  9800 
06/09/2016 Tuesday  2800 
07/09/2016 Wednesday 3600 
08/09/2016 Thursday 580 
09/09/2016 Friday  352 
10/09/2016 Saturday 950 
11/09/2016 Sunday  780 
12/09/2016 Monday  650 
13/09/2016 Tuesday  440 
14/09/2016 Wednesday 25 
15/09/2016 Thursday 39 
16/09/2016 Friday  500 
17/09/2016 Saturday 51 
18/09/2016 Sunday  65 
19/09/2016 Monday  99 
20/09/2016 Tuesday  350 
21/09/2016 Wednesday 280 
22/09/2016 Thursday 782 
23/09/2016 Friday  98 
24/09/2016 Saturday 785 
25/09/2016 Sunday  965 
26/09/2016 Monday  1500 
27/09/2016 Tuesday  3650 
28/09/2016 Wednesday 85 
29/09/2016 Thursday 70 
30/09/2016 Friday  980 

ようなモデルで件のデータを持っています毎月の金曜日から木曜日の次に連続して合計します。

合計(02/09/2016(金曜日)〜08/09/2016(木曜日))、合計(09/09/2016(金曜日)〜15/09/2016(木曜日))などです。 ...

+0

http://stackoverflow.com/questions/6266397/django-aggregation-to-lower-resolution-using-grouping。 -by-a-date-range – Anuj

答えて

0

あなたが言及したデータ

[Model_Name.objects.raw('query_below_mentioned')][1] 

のクエリの下に発射するDjangoの生のqueryメソッドを使用することができます。私は使用しているDBについて認識していませんが、データを取得するために下記のクエリを使用することができます。私はそれがsqliteであり、それは正常に動作しているが、ここで唯一の問題は、あなたのデータが増加し続けている場合は、手動でオフセットを調整し、クエリを変更する必要があるということです。それは緊急だ場合:(が、あなたは今のところ、それを使用することができます:これは役立つかもしれない

select * from (select sum(amount) as sum from (SELECT * FROM demo_table LIMIT 7 OFFSET 0) 
       UNION 
       select sum(amount) as sum from (SELECT * FROM demo_table LIMIT 7 OFFSET 7) 
       UNION 
       select sum(amount) as sum from (SELECT * FROM demo_table LIMIT 7 OFFSET 14) 
       UNION 
       select sum(amount) as sum from (SELECT * FROM demo_table LIMIT 7 OFFSET 21)); 
関連する問題