Django - 如何在以下模型查询中排除现有查询集的结果?

时间:2013-06-27 08:19:37

标签: django django-models django-queryset

我有两个模型:PeersCompetitors,它们与Client模型相关。所有人都有一个基本的ID字段。

让我说我在*.objects.filter(id = some_id)Peers

上执行Competitors查询

Django是否有内置的方法让我获得ClientPeer查询集中不存在的所有Competitor个对象,而不是编写自己的循环? / p>

1 个答案:

答案 0 :(得分:2)

您可以使用reverse relation

clients = Client.objects.exclude(peer__client=client_id) 
clients = clients.exclude(competitor__client=client_id)

我假设您的外键在clientPeer模型中都被命名为Competitor