git-svn-id: https://svn.bolloretelecom.eu/opensource/django-ldapdb/trunk@1026
e071eeec-0327-468d-9b6a-
08194a12b294
from copy import deepcopy
import ldap
from copy import deepcopy
import ldap
+from django.db import connections
from django.db.models.query import QuerySet as BaseQuerySet
from django.db.models.query_utils import Q
from django.db.models.sql import Query as BaseQuery
from django.db.models.sql.where import WhereNode as BaseWhereNode, Constraint as BaseConstraint, AND, OR
from django.db.models.query import QuerySet as BaseQuerySet
from django.db.models.query_utils import Q
from django.db.models.sql import Query as BaseQuery
from django.db.models.sql.where import WhereNode as BaseWhereNode, Constraint as BaseConstraint, AND, OR
from ldapdb.backends.ldap import compiler
from ldapdb.models.fields import CharField
from ldapdb.backends.ldap import compiler
from ldapdb.models.fields import CharField
class Query(BaseQuery):
def get_count(self, using):
class Query(BaseQuery):
def get_count(self, using):
+ connection = connections[using]
- vals = ldapdb.connection.search_s(
+ vals = connection.search_s(
self.model.base_dn,
self.model.search_scope,
filterstr=compiler.query_as_ldap(self),
self.model.base_dn,
self.model.search_scope,
filterstr=compiler.query_as_ldap(self),
- 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
def has_results(self, using):
return self.get_count(using) != 0
def delete(self):
"Bulk deletion."
def delete(self):
"Bulk deletion."
+ connection = connections[self.db]
- vals = ldapdb.connection.search_s(
+ vals = connection.search_s(
self.model.base_dn,
self.model.search_scope,
filterstr=compiler.query_as_ldap(self.query),
self.model.base_dn,
self.model.search_scope,
filterstr=compiler.query_as_ldap(self.query),
# FIXME : there is probably a more efficient way to do this
for dn, attrs in vals:
# FIXME : there is probably a more efficient way to do this
for dn, attrs in vals:
- ldapdb.connection.delete_s(dn)
+ connection.delete_s(dn)