diff --git a/djaosdb/caosdb_client.py b/djaosdb/caosdb_client.py index 8633e051c2b9b095a7a4bb7f15ec9f7179746738..3b16415163a0d4a95c508a8997c1762206cde0e5 100644 --- a/djaosdb/caosdb_client.py +++ b/djaosdb/caosdb_client.py @@ -42,13 +42,17 @@ class FindResult(Result): upper = (skip + limit if skip is not None and limit is not None else limit) - if sort: - rows.sort(key=lambda x: x[sort[0][0]], reverse=sort[0][1] < 0) + if columns is not None: - self._results = [] - for row in rows[skip:upper]: - self._results.append(dict(zip(columns, row))) + if sort: + named_columns = [dict(zip(columns, row)) for row in rows] + named_columns.sort(key=lambda x: x[sort[0][0]], reverse=sort[0][1] < 0) + self._results = named_columns[skip:upper] + else: + self._results = [] + for row in rows[skip:upper]: + self._results.append(dict(zip(columns, row))) else: self._results=rows