X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fdjango-ldapdb.git;a=blobdiff_plain;f=ldapdb%2Fmodels%2Fbase.py;h=ddf21a2aebff8e66230db55ec8d08ccaa0f6b679;hp=cd407a271192788178750a0dfad1542db00e3819;hb=f63d2fd7c6ba235d1d2d4353ae4031cbc9ca4b12;hpb=c4fa96587315cd27dbebbb9ccb939dbd46c1e291 diff --git a/ldapdb/models/base.py b/ldapdb/models/base.py index cd407a2..ddf21a2 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 @@ -102,7 +83,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 +163,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