Open austinwitherspoon opened 1 year ago
Happy to make a pull request if y'all think it's the right move to fix this
How is the real behavior without using mockgun when using ShotGrid with a similar scenario?
This is a valid query in actual shotgun. (You can run it on any demo site). It will return versions linked to shots with the code bunny_080_0010
.
The problem is that mockgun raises an exception for this valid query, because it doesn't like that a version can be linked to multiple entity types.
Running the following code:
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 likeentity
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?)