-class Query(BaseQuery):
- def get_count(self, using):
- try:
- vals = ldapdb.connection.search_s(
- self.model.base_dn,
- self.model.search_scope,
- filterstr=compiler.query_as_ldap(self),
- attrlist=[],
- )
- except ldap.NO_SUCH_OBJECT:
- return 0
-
- number = len(vals)
-
- # apply limit and offset
- number = max(0, number - self.low_mark)
- if self.high_mark is not None:
- number = min(number, self.high_mark - self.low_mark)
-
- return number
-
- def get_compiler(self, using=None, connection=None):
- return super(Query, self).get_compiler(connection=ldapdb.connection)
-
- def has_results(self, using):
- return self.get_count(using) != 0
-