Django à l'exclusion des instances spécifiques de queryset sans l'aide du champ de recherche

J'ai parfois le besoin de s'assurer certains cas, sont exclus d'un queryset.

C'est la façon dont je le fais habituellement:

unwanted_instance = MyModel.objects.get(pk=bad_luck_number)
uninteresting_stuff_happens()
my_results = MyModel.objects.exclude(id=unwanted_instance.id)

ou, si j'ai plus d'entre eux:

my_results = MyModel.objects.exclude(id_in=[uw_in1.id, uw_in2.id, uw_in3.id])

Cela "sent" un peu maladroit, j'ai donc essayé:

my_ideally_obtained_results = MyModel.objects.exclude(unwanted_instance)

Qui ne fonctionne pas. Mais j'ai lu ici DONC qu'une sous-requête peut être utilisé en tant que paramètre pour exclure.

Suis-je de la chance? Suis-je manque certaines fonctionnalités (vérifié les docs, mais n'ai pas trouvé utile de pointeur)

InformationsquelleAutor Agos | 2010-06-13