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
last_name and more.
Say you want to fetch all users with id NOT < 5. You need a NOT operation.
Django provides two options.
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>]>