(core) Use MixedTypesKey for sort_by arg of lookupRecords to avoid errors in Python 3

Summary: title

Test Plan: Added python unit test. Seems like the first test of sort_by in the whole codebase.

Reviewers: dsagal

Reviewed By: dsagal

Differential Revision: https://phab.getgrist.com/D3124
This commit is contained in:
Alex Hall
2021-11-09 18:07:58 +02:00
parent ecb30eebb8
commit 267640c277
4 changed files with 58 additions and 10 deletions

View File

@@ -446,7 +446,8 @@ class Table(object):
lookup_map = self._get_lookup_map(col_ids)
row_id_set, rel = lookup_map.do_lookup(key)
if sort_by:
row_ids = sorted(row_id_set, key=lambda r: self._get_col_value(sort_by, r, rel))
row_ids = sorted(row_id_set,
key=lambda r: column.SafeSortKey(self._get_col_value(sort_by, r, rel)))
else:
row_ids = sorted(row_id_set)
return self.RecordSet(row_ids, rel, group_by=kwargs, sort_by=sort_by)