X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fdjango-ldapdb.git;a=blobdiff_plain;f=ldapdb%2Fmodels%2Fquery.py;h=d49b44a41d1977c8b37fdd6266b3df9fca662bfb;hp=55576a6b4be1c44cb8427e49aff7c3eb29e4b42a;hb=c04580563f978929bc4f06dfa85ea7a26248d688;hpb=6035af62fccb4c3f623fd5be0072281f953790f5 diff --git a/ldapdb/models/query.py b/ldapdb/models/query.py index 55576a6..d49b44a 100644 --- a/ldapdb/models/query.py +++ b/ldapdb/models/query.py @@ -28,7 +28,7 @@ from django.db.models.sql.where import WhereNode as BaseWhereNode, Constraint as import ldapdb -from ldapdb.models.fields import CharField, Integer, ListField +from ldapdb.models.fields import CharField def get_lookup_operator(lookup_type): if lookup_type == 'gte': @@ -185,12 +185,10 @@ class Query(BaseQuery): for field in iter(self.model._meta.fields): if field.attname == 'dn': row.append(dn) - elif isinstance(field, IntegerField): - row.append(int(attrs.get(field.db_column, [0])[0])) - elif isinstance(field, ListField): - row.append(attrs.get(field.db_column, [])) + elif hasattr(field, 'from_ldap'): + row.append(field.from_ldap(attrs.get(field.db_column, []), connection=ldapdb.connection)) else: - row.append(attrs.get(field.db_column, [''])[0]) + row.append(None) yield row class QuerySet(BaseQuerySet):