X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fdjango-ldapdb.git;a=blobdiff_plain;f=ldapdb%2Fmodels%2Fbase.py;h=d09a5e0befbb9decbcfaf32ca62afa807cda66c1;hp=e98133b58cc7f596f61c365cadfb8b12a27df6a5;hb=1fa2f4f13848de14fcf16040fe9769fddafa229b;hpb=baba34a193fe7d304d86003b19f36ed638c7ec80 diff --git a/ldapdb/models/base.py b/ldapdb/models/base.py index e98133b..d09a5e0 100644 --- a/ldapdb/models/base.py +++ b/ldapdb/models/base.py @@ -68,6 +68,7 @@ class Model(django.db.models.base.Model): # meta-data base_dn = None + search_scope = ldap.SCOPE_SUBTREE object_classes = ['top'] def __init__(self, *args, **kwargs): @@ -85,8 +86,8 @@ class Model(django.db.models.base.Model): Build the Relative Distinguished Name for this entry. """ bits = [] - for field in self._meta.local_fields: - if field.primary_key: + for field in self._meta.fields: + if field.db_column and field.primary_key: bits.append("%s=%s" % (field.db_column, getattr(self, field.name))) if not len(bits): raise Exception("Could not build Distinguished Name") @@ -114,7 +115,7 @@ class Model(django.db.models.base.Model): entry = [('objectClass', self.object_classes)] new_dn = self.build_dn() - for field in self._meta.local_fields: + for field in self._meta.fields: if not field.db_column: continue value = getattr(self, field.name) @@ -132,7 +133,7 @@ class Model(django.db.models.base.Model): record_exists = True modlist = [] orig = self.__class__.objects.get(pk=self.saved_pk) - for field in self._meta.local_fields: + for field in self._meta.fields: if not field.db_column: continue old_value = getattr(orig, field.name, None)