X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fdjango-ldapdb.git;a=blobdiff_plain;f=ldapdb%2Fmodels%2Fquery.py;h=938abd5904aac6cf79230c134fd7b7f8d8958b04;hp=8890b53a4c0ec2dc67d441f192453e70606a0a4d;hb=5a80e0dc0886927f14b00ccf329fa4ec6d36ffa5;hpb=c1265f3b8c5d88ac3fa0de1a4b1756c6cdc9d7a2 diff --git a/ldapdb/models/query.py b/ldapdb/models/query.py index 8890b53..938abd5 100644 --- a/ldapdb/models/query.py +++ b/ldapdb/models/query.py @@ -61,6 +61,22 @@ class Query(BaseQuery): except: raise self.model.DoesNotExist + # perform sorting + if self.extra_order_by: + ordering = self.extra_order_by + elif not self.default_ordering: + ordering = self.order_by + else: + ordering = self.order_by or self.model._meta.ordering + def getkey(x): + keys = [] + for k in ordering: + attr = self.model._meta.get_field(k).db_column + keys.append(x[1][attr]) + return keys + vals = sorted(vals, key=lambda x: getkey(x)) + + # process results for dn, attrs in vals: row = [dn] for field in iter(self.model._meta.fields):