查询集中日期时间的相同值
The same values of datetime in queryset
我在计算具有相同日期时间的查询集中的某些值时遇到问题,这是我的查询集:
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值,例如:
日期:2016 年 5 月 10 日 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}
但它只提供日期。如何按日期对查询集对象进行分组?
使用 "group_by" Django ORM 功能,例如:
YourModel.objects.values('datetime').annotate(a_total=Sum('a'), b_total=Sum('b'))
我在计算具有相同日期时间的查询集中的某些值时遇到问题,这是我的查询集:
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值,例如:
日期:2016 年 5 月 10 日 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}
但它只提供日期。如何按日期对查询集对象进行分组?
使用 "group_by" Django ORM 功能,例如:
YourModel.objects.values('datetime').annotate(a_total=Sum('a'), b_total=Sum('b'))