如何在django中查找与另一个对象没有关系的对象列表

时间:2013-08-14 21:20:27

标签: python django django-models django-orm

我有以下对象结构:

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

class Club(models.Model):
    customer = models.ForeignKey(Customer)


class ClubMember(models.Model):
    group = models.ForeignKey(Group)
    member = models.ForeignKey(Member)

class Member(models.Model):
    customer = models.ForeignKey(Customer)

如何找到尚未创建ClubMember对象的客户的所有成员?

结果将是成员的查询集。

如何实现这一目标?

2 个答案:

答案 0 :(得分:3)

如果您正在寻找特定客户:

customer.member_set.filter(clubmember__isnull=True)

如果您希望所有没有ClubMember的成员匹配,无论客户如何:

Member.objects.filter(clubmember__isnull=True)

答案 1 :(得分:1)

也许是这样的:

Member.objects.attribute.exclude(id=clubmember_set__member_id)