【问题标题】:Find all the objects that does not have any reverse lookup m2m values查找所有没有任何反向查找 m2m 值的对象
【发布时间】:2017-08-09 10:48:34
【问题描述】:

我有一个联系人列表,每个联系人可以属于多个联系人列表。我需要做的是找到不属于任何 ContactList 的所有联系人(即孤立联系人)。

class ContactList(models.Model):
    name = models.CharField()
    contacts = models.ManyToManyField(Contact)

class Contact(models.Model):
    name = models.CharField()

我尝试了以下方法,但它不起作用,因为 contactlist_set 是反向查找字段而不是模型字段。

Contact.objects.filter(contactlist_set=None)

有人能给我一些前进的方向吗?

谢谢

【问题讨论】:

  • 也许这个:Contact.objects.filter(contactlist__isnull=False) ?
  • @nik_m 我得到了 FieldError:无法解析关键字“联系人列表”,联系人没有与联系人列表相关的直接字段
  • 刚刚在本地测试过,它可以工作。你确定它失败了吗?
  • 请允许我使用 dj 1.7
  • 您在回溯中还得到了哪些choices

标签: django many-to-many django-queryset django-1.7


【解决方案1】:

我认为这应该适合你:

Contact.objects.filter(contactlist__isnull=False)

【讨论】:

  • 感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多