django - 按天分组,然后再按用户分组以获取对象列表或对象 ID
问题描述
class Ticket(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
booked_at = models.DateTimeField(default=timezone.now)
bought = models.BooleanField(default=False)
我想按预订日期对票进行分组,然后再按票的用户(管理员/客户)分组每天的票列表,即用户是否为管理员,最后得到票列表或票的ID。
[
{
'day': datetime.datetime(2018, 5, 6, 0, 0, ...),
'booked_by_admin': [1, 2, 5],
'booked_by_customer': [3, 4]
},
{
'day': datetime.datetime(2018, 5, 7, 0, 0, ...),
'booked_by_admin': [11, 12, 16],
'booked_by_customer': [10, 13, 14, 15]
}
]
我可以这样按天分组票,
Ticket.objects.filter(bought=True).annotate(day=TruncDay('booked_at')).values('day').annotate(c=Count('id')).order_by()
但我无法弄清楚如何再次按管理员用户和非管理员用户对其进行分组以获取票证对象列表。请问你能帮帮我吗。
解决方案
推荐阅读
- android - json解码列表在颤动中返回null
- c++ - 数组操作在插入后和执行一个操作循环退出后面临数组大小变化的问题
- javascript - 如何在提交时使用 jquery 验证来验证表单?
- python-3.x - 如何划分对象列表中的两个元素?
- reactjs - 如何防止 react-router-dom 嵌套路由与路由参数混淆
- tron - 如何使用 trongrid api 过滤器参数获取合同事件?
- css - 如何在所有屏幕中增加 div 高度?
- git - Github 上的双重用户名
- python - 有没有办法使用熊猫根据其他条件从两个不同的列和跨行对日期进行分组?
- java - KubernetesClientException:操作:[list] for kind:[Endpoints] with name: [null] in namespace: [null] failed