объединяйте и объединяйте, используя django orm - PullRequest
0 голосов
/ 05 июля 2019

У меня есть две таблицы user и покупка

В таблице покупок есть столбцы user purchase_total

, а в таблице user есть столбцы userid и username

Здесь я хочу сделать внутреннее объединениечтобы найти общую сумму покупки для каждого пользователя

Мне нужно узнать, как мне выполнить внутреннее объединение между пользователем и покупкой и объединить, чтобы найти общую сумму покупки для каждого данного пользователя.с помощью django ORM Query

ниже приведен запрос, который будет выполнять этот тип соединения:

выберите пользователя. * sum (purchase_total) AS общая сумма покупки у пользователя, присоединенная к покупке на buy.id= user.id

Как мне создать запрос django orm, используя это.

1 Ответ

0 голосов
/ 05 июля 2019

Допустим, ваша модель покупки имеет отношение, подобное этому:

class Purchase(models.Model):
    user = models.ForiegnKey(User, <b>related_name='purchases'</b>)

Затем вы можете выполнить объединение и агрегирование следующим образом:

from django.db.models import Sum

User.objects.annotate(total_purchase=Sum('purchases'))

Для получения дополнительной информации вы можете проверить этоdocumentation.

...