Description
Running the following code:
mockgun.find("Version", [["entity.Shot.code", "is", "bunny_080_0010"]], ["code", "description"])
raises the exception shotgun_api3.shotgun.ShotgunError: Deep query field Version.entity.Shot.code does not match type with data {'type': 'Asset', 'id': 1351, 'name': 'mp_415'}
This exception is raised from _get_field_from_row()
which is expecting that every single row has the same type, but a field like entity
is multi-entity and this will always raise an exception.
I did a small experiment and it appears that we can just return None
instead of raising an exception which will fix the issue (although there may be a side effect of filters like ["entity.Shot.other_field", "is", "None"]
getting falsely included when entity != Shot.. maybe a special return type like "NoField" to indicate a field wasn't found and to skip?)