Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Mockgun raises exception on dotted filter #298

Copy link
Copy link
@austinwitherspoon

Description

@austinwitherspoon
Issue body actions

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?)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.