kevin.sparks
kevin.sparks

Reputation: 91

Django many-to-many query for zero records in related model

Using the standard Django example model for M2M relationships. I would like to return a list of Person (people) that don't have a Membership (ie. no related records in the Membership table. How would I go about doing this? Is anybody able to point me in the right direction?

class Person(models.Model):
    name = models.CharField(max_length=128)

class Group(models.Model):
    name = models.CharField(max_length=128)
    members = models.ManyToManyField(Person, through='Membership')

class Membership(models.Model):
    person = models.ForeignKey(Person)
    group = models.ForeignKey(Group)
    date_joined = models.DateField()
    invite_reason = models.CharField(max_length=64)

Thank you.

Upvotes: 3

Views: 154

Answers (1)

Matt
Matt

Reputation: 10362

Person.objects.filter(membership__isnull=True)

https://docs.djangoproject.com/en/1.4/ref/models/querysets/#isnull

Upvotes: 2

Related Questions