Создание подмассива продуктов с уникальным именем пользователя (django)
Мне нужен массив заказов клиентов, где имя пользователя уникально, а количество заказа должно быть добавлено. Я получил результат, используя annotate, но мне нужен подмассив с названием товара и соответствующим количеством в качестве подмассива. Пожалуйста, проверьте результаты, которые я получил и требуемые результаты ниже. Заранее спасибо
views.py
orders = Order.objects.values('staff_id', 'staff__username', 'product__name').annotate(quantity=Sum('order_quantity')).order_by()
models.py
class Product(models.Model):
name = models.CharField(max_length=100, choices=PRODUCTS, null = True)
quantity = models.PositiveIntegerField(null = True)
class Order(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE, null=True)
staff = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
order_quantity = models.PositiveIntegerField(null=True)
Выход:
[
{
"staff_id":15,
"staff__username":"John",
"product__name":"samsung",
"quantity":2
},
{
"staff_id":15,
"staff__username":"John",
"product__name":"apple",
"quantity":18
},
{
"staff_id":16,
"staff__username":"test",
"product__name":"apple",
"quantity":100
}
]
Требуется выход
[
{
"staff_id":15,
"staff__username":"John",
"product": [
{
"product__name":"samsung",
"quantity":2
},
{
"product__name":"apple",
"quantity":18
}
]
},
{
"staff_id":16,
"staff__username":"test",
"product": [
{
"product__name":"apple",
"quantity":100
}
]
}
]