Hi,
I couldn’t figure from the documentation how to make a query that gets me in one single requests all versions of a project and the shots data. The entity element gives shot name and id but I would like to get more of the Shot entity fields in there.
This should be an easy thing with usual database but through Shotgun API I can’t find the syntax to do that sort of request in one go. Can anyone spare an example of what the fields parameter would be when calling the find() method ?
Thanks
Chris
3 Likes
Hi @chistof, thanks for posting, and welcome to the
forums!
You can reference fields from a linked entity using dot syntax, like this:
sg_task.Task.step.Step.id
This references the id
field on the Pipeline Step entity record, which the Task entity record listed in the sg_task
field is linked to.
To break it down a bit further:
sg_task
is a field (perhaps on a Version entity record) that links to a Task entity record
Task
references the entity type of this linked entity record
step
is a field on Tasks, linking to a Pipeline Step entity record
Step
references the entity type of this next linked entity record
id
is the unique ID field on the linked Pipeline Step entity record
See the API Reference doc on Shotgun.find for more details.
To get a field from a Shot record linked to a Version, you might do a find() on the Version entity that includes this field reference:
entity.Shot.code
Hopefully that gets you the data you need. Beyond that, if there’s no direct linkage from the entity you are querying, you’d need to do a separate call to find data from another entity.
3 Likes