Last modified: Jan 10, 2023
How to Exclude one or multiple objects from Django Queryset
The exclude() method filter the objects that do not match the given lookup parameters and return a new queryset.
Before using exclude(), let's create a simple model, then add some records.
In models.py:
class Topics(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
def __str__(self):
return self.title
Adding records:

Exclude one object from Queryset
Syntax:
.exclude(field_name="something")
Let's exclude from our model.
In view.py:
def exclude(request):
topics = Topics.objects.exclude(title="lorem 2")
#print QuerySet
print(topics)
return HttpResponse(topics)
return all objects except that match title="lorem 2".
output:
<QuerySet [<Topics: lorem 1>, <Topics: lorem 3>]>
Exclude multiple objects from Queryset
To exclude multiple objects, we'll use in filter with the exclude() method.
In view.py:
def exclude(request):
excludes = ['lorem 2', 'lorem 3']
topics = Topics.objects.exclude(title__in=excludes)
#print QuerySet
print(topics)
return HttpResponse(topics)
output:
<QuerySet [<Topics: lorem 1>]>