Как построить запрос, который будет возвращать объекты, содержащие более одного определенного внешнего ключа?
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')