A query with or clauses or an in (values_list) uses a table scan if either of these conditions is true:
The cost of all the index accesses is greater than the cost of a table scan, or
At least one of the columns is not indexed, so the only way to resolve the query conditions is to perform a table scan.