code: def _validate_select_where(self):
          
          #check that there's either a = or IN relationship with a primary key or indexed field
          equal_ops = [self.model._columns.get(w.field) for w in self._where if isinstance(w.operator, EqualsOperator)]
          token_comparison = any([w for w in self._where if isinstance(w.value, Token)])
          if not any([w.primary_key or w.index for w in equal_ops]) and not token_comparison and not self._allow_filtering:
              raise QueryException('Where clauses require either a "=" or "IN" comparison with either a primary key or indexed field')
  
          if not self._allow_filtering:
              #if the query is not on an indexed field
              if not any([w.index for w in equal_ops]):
                  if not any([w.partition_key for w in equal_ops]) and not token_comparison:
                      raise QueryException('Filtering on a clustering key without a partition key is not allowed unless allow_filtering() is called on the querset')
docs: Checks that a filterset will not create invalid select statement