Ehtesham Ahmad Nadim
Ehtesham Ahmad Nadim

Reputation: 431

Django QuerySet filter get queryset by id and other column(s)

I am trying to get my user instance as well as my team members' user instances in the same query. Unfortunately, I am getting an empty query set. I am trying this :

users = User.objects.filter(invited_by=request.user.id, id = request.user.id)

Upvotes: 1

Views: 740

Answers (2)

Iftekhar Mohammad
Iftekhar Mohammad

Reputation: 111

You Can use Q (for more details visit: https://docs.djangoproject.com/en/2.2/ref/models/querysets/#q-objects).

To get both your and your team members instance you can write something like this :

User.objects.filter(Q(invited_by=request.user.id)|Q(id = request.user.id)) . Here '|' operator is a OR operator. So you are saying give me instance where invited_by =request.user.id or id = request.user.id . That's why you are getting all your desire instances. Hope this helps :)

Upvotes: 3

ruddra
ruddra

Reputation: 51988

You need to run a OR operation using Q operator:

User.objects.filter(Q(invited_by=request.user.id)|Q(id = request.user.id))

Upvotes: 4

Related Questions