【问题标题】:Django filter query week day wise(Friday to Thursday consecutively in a month)Django过滤器查询工作日明智(一个月内连续周五至周四)
【发布时间】:2016-09-27 13:31:12
【问题描述】:

大家好,我的模型中有这样的数据

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

我想在 django 中编写一个过滤器查询,用于过滤每个月的下一个连续的周五到周四的总和等数据。

即 sum(02/09/2016(Friday) To 08/09/2016(Thursday)) , sum(09/09/2016(Friday) To 15/09/2016(Thursday)) 等等.. ..

【问题讨论】:

标签: django filter


【解决方案1】:

您可以使用 django 的原始查询方法为您提到的数据触发以下查询

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

。我不知道您正在使用的数据库,但您可以使用下面提到的查询来获取数据。我试过它是 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));

【讨论】:

    猜你喜欢
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 1970-01-01
    • 2017-01-01
    相关资源
    最近更新 更多