Как построить запрос, который будет возвращать объекты, содержащие более одного определенного внешнего ключа?

class People(models.Model);
    name = models.CharField()
    surname = models.CharField()

class Votes(models.Model):
    value = models.CharField()
    people = models.ForeignKey(People)

Я хотел бы написать запрос, который вернет набор людей, имеющих более одного голоса (сколько внешних ключей Votes имеет People). как я могу этого достичь?

Попробуйте это:

from django.db.models import Count

People.objects.annotate(votes_count=Count('votes')).filter(votes_count__gt=1)

votes это связанное имя здесь, вы можете добавить это в people внешний ключ в Votes модели.

class Votes(models.Model):
    value = models.CharField()
    people = models.ForeignKey(People, related_name='votes')
Вернуться на верх