iscream
iscream

Reputation: 790

How to make OR conditions while filtering Django Models?

I want to make a query like this:

Mymodel.objects.filter(description__icontains='something' or title__icontains='something')

However using the or statement does not work. Putting a comma makes it an and statement. How do I solve this?

Upvotes: 1

Views: 18

Answers (1)

willeM_ Van Onsem
willeM_ Van Onsem

Reputation: 477607

You wrap the conditions in Q objects [Django-doc], and use the bitwise or operator (|) as an OR:

from django.db.models import Q

Mymodel.objects.filter(
    Q(description__icontains='something') |
    Q(title__icontains='something')
)

Upvotes: 1

Related Questions