'Given a single \'item\' from the result of a query build the tuple
that will be stored in the query cache. It is effectively the
fullname of the item after passing through the filter plus the
columns of the unfiltered item to sort by.'

def make_item_tuple(self, item):

    filtered_item = self.filter(item)
    lst = [filtered_item._fullname]
    for col in self.sort_cols:
        attr = getattr(item, col)
        if isinstance(attr, datetime):
            attr = epoch_seconds(attr)
        lst.append(attr)
    return tuple(lst)
