X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fdjango-ldapdb.git;a=blobdiff_plain;f=ldapdb%2Fmodels%2Fbase.py;h=13ceea1a75f94471e8621426f497e8518d7e6c1e;hp=cd407a271192788178750a0dfad1542db00e3819;hb=0a8f68c0f405160561f545a52dd34158e10843d6;hpb=c4fa96587315cd27dbebbb9ccb939dbd46c1e291 diff --git a/ldapdb/models/base.py b/ldapdb/models/base.py index cd407a2..13ceea1 100644 --- a/ldapdb/models/base.py +++ b/ldapdb/models/base.py @@ -36,34 +36,15 @@ import ldap import logging import django.db.models +from django.db import connections, router from django.db.models import signals import ldapdb -from ldapdb.models.query import QuerySet - -class ModelBase(django.db.models.base.ModelBase): - """ - Metaclass for all LDAP models. - """ - def __new__(cls, name, bases, attrs): - super_new = super(ModelBase, cls).__new__ - new_class = super_new(cls, name, bases, attrs) - - # patch manager to use our own QuerySet class - if not new_class._meta.abstract: - def get_query_set(): - return QuerySet(new_class) - new_class.objects.get_query_set = get_query_set - new_class._default_manager.get_query_set = get_query_set - - return new_class class Model(django.db.models.base.Model): """ Base class for all LDAP models. """ - __metaclass__ = ModelBase - dn = django.db.models.fields.CharField(max_length=200) # meta-data @@ -75,14 +56,6 @@ class Model(django.db.models.base.Model): super(Model, self).__init__(*args, **kwargs) self.saved_pk = self.pk - def _collect_sub_objects(self, seen_objs, parent=None, nullable=False): - """ - This private API seems to be called by the admin interface in django 1.2 - """ - pk_val = self._get_pk_val() - seen_objs.add(self.__class__, pk_val, self, - type(parent), parent, nullable) - def build_rdn(self): """ Build the Relative Distinguished Name for this entry. @@ -102,7 +75,7 @@ class Model(django.db.models.base.Model): return "%s,%s" % (self.build_rdn(), self.base_dn) raise Exception("Could not build Distinguished Name") - def delete(self): + def delete(self, using=None): """ Delete this entry. """ @@ -182,3 +155,5 @@ class Model(django.db.models.base.Model): new_class = new.classobj(name, (base_class,), {'base_dn': base_dn, '__module__': base_class.__module__}) return new_class + class Meta: + abstract = True