Иногда мне нужно убедиться, что некоторые экземпляры исключены из набора запросов.
Так я обычно делаю это:
unwanted_instance = MyModel.objects.get(pk=bad_luck_number)
uninteresting_stuff_happens()
my_results = MyModel.objects.exclude(id=unwanted_instance.id)
или, если у меня их больше:
my_results = MyModel.objects.exclude(id_in=[uw_in1.id, uw_in2.id, uw_in3.id])
Это "чувствует" немного неуклюже, поэтому я попробовал:
my_ideally_obtained_results = MyModel.objects.exclude(unwanted_instance)
Что не работает. Но я прочитал здесь на SO, что подзапрос может использоваться как параметр для исключения.
Мне повезло? Я упускаю некоторые функции (проверял документы, но не нашел полезного указателя)