Подсчет объектов Django, в которых два поля равны
Допустим, у меня есть следующая модель Django:
class Point(models.Model):
x = models.IntegerField()
y = models.IntegerField()
Мне нужен подсчет объектов, где x == y
. Я знаю, что могу сделать это в Python:
count = 0
for point in Point.objects.all():
if point.x == point.y:
count += 1
Однако моя таблица содержит миллионы записей, поэтому я хочу сделать это в базе данных. Возможно ли это?
Выберите все Point
случаи, где x
и y
равны, и выведите подсчет следующим образом:
from django.db.models import F
count = Point.objects.filter(x=F('y')).count()