- ru
 - Language: en
 
- Documentation version: 2.0
 
4. How to do a NOT query in Django queryset?
If you are using django.contrib.auth, you will have a table called auth_user. It will have fields as username, first_name, last_name and more.
Say you want to fetch all users with id NOT < 5. You need a NOT operation.
Django provides two options.
exclude(<condition>)filter(~Q(<condition>))
4.1. The query in detail
Our SQL query for the above condition will look something like
SELECT id, username, first_name, last_name, email FROM auth_user WHERE NOT id < 5;
Method 1 using exclude
Method 2 using Q() method
>>> from django.db.models import Q
>>> queryset = User.objects.filter(~Q(id__lt=5))
>>> queryst
<QuerySet [<User: Ritesh>, <User: Billy>, <User: Radha>, <User: sohan>, <User: Raghu>, <User: rishab>]>