Django-如何组合两个对象集&删除这两组中的公共对象

时间:2013-05-30 05:14:26

标签: python django filter

我现在正在尝试在django中实现搜索功能并使用过滤器功能。查看函数后,我找不到特定的函数,我将如何组合两个不同的对象集并删除两个集合中的公共对象。

set1= book.objects.filter(name='Python')
set2= book.objects.filter(author_name='Mona')

是否可以调用任何函数来执行此操作?

非常感谢

1 个答案:

答案 0 :(得分:1)

您可以使用exclude()为其他集合中的对象尝试此操作。

set1= book.objects.filter(name='Python')
set2= book.objects.filter(author_name='Mona')
non_common = set1.exclude(id__in=[o.id for o in set2])