Ответ 1
Вы можете использовать exclude()
вместо filter()
:
Entry.objects.exclude(name__contains="SomeString")
( "дайте мне все записи. ИСКЛЮЧИТЕ те, у кого names
, содержащие" SomeString ")
И при работе с Q-объектом вы можете использовать символ ~ ~ перед объектом Q, чтобы представлять отрицание. Например, следующая инструкция означает "дать мне все записи с names
, содержащие" Elephant ", но NOT содержит" SomeString ":
Entry.objects.filter(Q(name__contains="Elephant") & ~Q(name__contains="SomeString"))
В некоторых случаях вы можете использовать оба метода:
Entry.objects.exclude(Q(name__contains="Elephant") & ~Q(name__contains="SomeString"))
( "дайте мне все записи, ЗА ИСКЛЮЧЕНИЕМ тех, у кого names
содержит" Слон ", но НЕ содержит" SomeString ")