【问题标题】:The same values of datetime in queryset查询集中日期时间的相同值
【发布时间】:2016-09-09 18:36:09
【问题描述】:

我在使用相同日期时间计算查询集中的一些值时遇到问题,这是我的查询集:

energy = self.Gauge.objects.filter(place=place, **datetime_kwargs).values(*self.csv_fields).order_by('datetime')

结果是:

[{'a': 2, 'b': 3, datetime: datetime.datetime(2016, 5, 10, 0, 0)}, {'a': 4, 'b': 5, datetime: datetime.datetime(2016, 5, 12, 0, 0)}, {'a': 3, 'b': 6, datetime: datetime.datetime(2016, 5, 10, 0, 0)}, {'a': 5, 'b': 2, datetime: datetime.datetime(2016, 5, 12, 0, 0)}]

我想统计同一日期的a和b值,例如:

日期:10.05.2016 00:00:a = 5,b = 9。 我正在尝试理解列表:

key_values = ['datetime']

    for e in energy:
        energy_by_date = {k: v for k, v in energy.items() if k in key_values}

但它只给出日期。如何按日期对查询集对象进行分组?

【问题讨论】:

    标签: python django datetime filter django-queryset


    【解决方案1】:

    使用“group_by”Django ORM 功能,例如:

     YourModel.objects.values('datetime').annotate(a_total=Sum('a'), b_total=Sum('b'))
    

    【讨论】:

      猜你喜欢
      • 2013-12-23
      • 1970-01-01
      • 2013-10-05
      • 2021-01-05
      • 2018-05-08
      • 1970-01-01
      • 2015-10-01
      • 2020-10-23
      • 1970-01-01
      相关资源
      最近更新 更多