Сумма Джанго в наборе запросов - PullRequest
0 голосов
/ 14 января 2019

У меня есть набор запросов в django с условием:

query_set = MyModel.objects.annotate(TWWByRuns=(
    Case(
        When(Q(toss_winner=F('winner')) & Q(win_by_runs=0), then=1),
        output_field=FloatField(), default=0)
    )
).values('TWWByRuns')

Я хотел бы использовать встроенную функцию суммы django, чтобы добавлять всякий раз, когда значение в query_set равно 1, как в случае, когда then=1. Я знаю, что использовать функцию суммы без условий, но здесь, поскольку у меня есть условие, где я должен использовать функцию суммы в этом query_set?

1 Ответ

0 голосов
/ 14 января 2019

В этом конкретном случае имеет смысл считать :

MyModel.objects.filter(toss_winner=F('winner'), win_by_runs=0)<b>.count()</b>

Таким образом, мы просто проверяем, сколько MyModel записей удовлетворяют данному условию.

...