Как указать количество появлений связанного поля для родителя [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' в поле.
.