Ответ 1
MyObject.objects.filter(time__gte=datetime.now()).exclude(id__in=object_id_list)
Как я могу фильтровать в запросе, чтобы результат не включал экземпляры объектов с идентификатором, принадлежащим списку?
Допустим, у меня есть:
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))