I have a table like this:
User | Record Date | Online |
---|---|---|
Alice | 2023/05/01 | Online |
Alice | 2023/05/03 | Online |
Alice | 2023/05/15 | Online |
Alice | 2023/05/31 | Offline |
Alice | 2023/06/01 | Offline |
Alice | 2023/06/04 | Offline |
Alice | 2023/06/20 | Online |
Alice | 2023/06/21 | Online |
And I would like to have a result like this:
- Alice was online from 2023/05/01 to 2023/05/15
- Alice was offline from 2023/05/31 to 2023/06/04
- Alice was online 2023/06/20 to 2023/06/21
I tried to use this query:
_users = (MyUserModel.objects.filter(record_date__year=2023)
.values('online', 'record_date')
.annotate(min_date=Min('record_date'), max_date=Max('record_date'))
.order_by()
)
but it doesn't return a correct result