[django] Django 쿼리 : 목록에있는 ID를 제외하도록 개체를 필터링하는 방법은 무엇입니까?

목록에 속한 ID를 가진 개체 인스턴스가 결과에서 제외되도록 쿼리에서 필터링하려면 어떻게해야합니까?

내가 가지고 있다고 가정 해 봅시다.

object_id_list = [1, 5, 345]

MyObject.objects.filter(Q(time__gte=datetime.now()) & Q( ... what to put here? ... ))

스타일의 무언가 "SELECT * FROM ... WHERE id NOT IN (...)"



답변

MyObject.objects.filter(time__gte=datetime.now()).exclude(id__in=object_id_list)


답변

Q객체를 사용하여이 작업을 수행 할 수도 있습니다 .

from django.db.models import Q

MyObject.objects.filter(time__gte=datetime.now()).filter(~Q(id__in=object_id_list))


답변