如何在Django queryset __in中获取不存在的查询条件

时间:2019-01-31 17:12:26

标签: django django-queryset

假设我有一个查询集:Book.objects.filter(pk__in=[1,2,3,4,5])。是否有任何简单的方法(即内置API)来获取哪个pk与任何记录都不对应?

1 个答案:

答案 0 :(得分:1)

您可以尝试

pk_list = [1, 2, 3, 4]
books_pk = Book.objects.filter(pk__in=pk_list).values_list('pk', flat=True)
invalid_pk = list(set(pk_list) - set(books_pk))

该代码不言自明。让我知道您是否需要解释。