I have the following model in Django.
class StoreVideoEventSummary(models.Model):
Customer = models.ForeignKey(GlobalCustomerDirectory, null=True, db_col
just break it into two steps
objs = StoreVideoEventSummary.objects.filter(Timestamp__range=(start_time, end_time),
Customer__id=customer_id,
Store__StoreName=store)\
.order_by("Timestamp")
def date_hour(timestamp):
return datetime.datetime.fromtimestamp(timestamp).strftime("%x %H")
groups = itertools.groupby(objs, lambda x:date_hour(x.Timestamp))
#since groups is an iterator and not a list you have not yet traversed the list
for group,matches in groups: #now you are traversing the list ...
print group,"TTL:",sum(1 for _ in matches)
this allows you to group by several distinct criteria
if you just want the hour regardless of date just change date_hour
def date_hour(timestamp):
return datetime.datetime.fromtimestamp(timestamp).strftime("%H")
if you wanted to group by day of the week you just use
def date_hour(timestamp):
return datetime.datetime.fromtimestamp(timestamp).strftime("%w %H")