Yes, I want do it for performance reasons.
I will need to get a list of version for all assets in task groped by assets.
I did it something like that:
import ftrack_api
from itertools import groupby
session = ftrack_api.Session()
entity = session.get('Context', '376a3498-1191-11e8-8917-001e582bf738')
assets = session.query(
'select asset.name, version from AssetVersion '
'where task_id is "{0}" and asset.name is_not '
'none order by version desc'.format(
entity['id'])).all()
res = [{"asset":l, "versions":list(v)} for l,v in groupby(
sorted(assets, key=lambda x:x['asset']['name']),
lambda x: x['asset']['name'])]
But usually I working only with latest ones and rarely with previous.
So in that reason I thought that's will be great to get only latest versions and how to get this list in best performance way.