1

我希望你能看到我想用下面的线做什么......

Group.objects.filter(contacts.count>1)

我想过滤并仅获取具有 1 个以上相关联系人的组。

以上将不起作用,那么应该如何完成?

谢谢

模型.py

class Contact(models.Model):
    first_name = models.CharField(max_length=60)
    group = models.ForeignKey(Group, related_name='contacts')


class Group(models.Model):
    name = models.CharField(max_length=60)
4

1 回答 1

7
from django.db.models import Count

Group.objects.annotate(c=Count('contacts')).filter(c__gt=1)

关于注释和聚合的文档。另请参阅对注解进行过滤

于 2013-04-02T16:46:10.487 回答