按天分组,然后再按用户分组以获取对象或对象的ID

时间:2018-05-07 11:47:42

标签: django django-2.0

class Ticket(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    booked_at = models.DateTimeField(default=timezone.now)
    bought = models.BooleanField(default=False)

我想在预订日之前对门票进行分组,然后再按票证的用户(管理员/客户)对每天的票证列表进行分组,即用户是否为_admin,最后获取票证列表或票的身份。

[
    {
        '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()

但我无法弄清楚如何再次由管理员用户和非管理员用户对其进行分组以获取故障单对象列表。请问你能帮帮我吗。

0 个答案:

没有答案