在queryset中按对象排除

时间:2014-03-12 12:28:36

标签: python django django-queryset

我想从查询集中排除一些对象,并想知道如何将对象列表传递给Django' exclude()

这是我到目前为止所拥有的:

pages = [page1, page2] # page1 and page2 are Page objects
Page.objects.filter(site=site).exclude(pages)

我可以做exclude(pk__in=[p.pk for p in pages]),但感觉并不自然。如何指定要从上述查询集中排除的对象列表?

1 个答案:

答案 0 :(得分:0)

到目前为止,我的方法似乎是最好的方法之一。这就是我最终得到的结果:

pages = [page1, page2] # page1 and page2 are Page objects
Page.objects.filter(site=site).exclude(pk__in=[p.pk for p in pages])