You can use exclude() in place of filter():
Entry.objects.exclude(name__contains="SomeString")
(“give me all entries EXCEPT those with names containing “SomeString”)
And when dealing with Q object you can use “~” symbol before Q object to represent negation. For example the following statement means “give me all Entries with names containing “Elephant”, but NOT containing “SomeString”:
Entry.objects.filter(Q(name__contains="Elephant") & ~Q(name__contains="SomeString"))
In some cases you may want to use both methods:
Entry.objects.exclude(Q(name__contains="Elephant") & ~Q(name__contains="SomeString"))
(“give me all entries, EXCEPT those with names containing “Elephant”, but NOT containing “SomeString”)