Django queryset filter - Q() | VS __in Django queryset filter - Q() | VS __in django django

Django queryset filter - Q() | VS __in


First will generate query:

SELECT .... FROM ... WHERE (FOO = 'bar' OR FOO = 'baz');

second will generate query:

SELECT .... FROM ... WHERE (FOO IN ('bar', 'baz'));

Both queries should compute same results, but there may be some performance differences, depending on database backend. Generally, using in should be faster.