Как указать количество появлений связанного поля для родителя [Django].

У меня есть 2 класса:

class Agent(models.Model):
    pass

class Client(models.Model):
    agent = models.ForeignKey(
        "agents.Agent",
        on_delete=models.SET_NULL,
    )
    connected = models.BooleanField(
        default=False,
    )

Я знаю, что если бы connected было целым числом, я мог бы использовать Sum следующим образом:

Agent.objects.all().annotate(
    Sum("client__connected"),
)

Но как мне получить подсчет на основе значения связанного поля?

Я также пробовал:

Agent.objects.all().annotate(
        connected=Count(
            "connected",
            filter=Q(client__connected=True),
        )
)

Но это только дает мне ошибку:

Исключение типа FieldError. Аргументы: ("Невозможно преобразовать ключевое слово 'connected' в поле.

.
Вернуться на верх