To change status, you need to do transaction above the issue. Transition is just operation that is defined in 'workflow', and transit issue from one status to another.
From current status you can perform just limited set of transition, that depends on 'workflow'.
Try to use following functions:
Current issue status:
issue = jira.issue('PROJECT-1')
issue.fields.status
JIRA Status: name='Fix submitted', id='10827'
Possible transitions for current status of the issue:
jira.transitions(issue)
[{'id': '181', 'name': 'Fix Failed', 'to': ..........}}}, {'id':
'261', 'name': 'Fix Verfied', 'to': {'self':.....}}}]
So then you can perform two transitions:
jira.transition_issue(issue, transition='Fix Failed')
or
jira.transition_issue(issue, 261)
Then you can verify that your issue changed status on the server:
issue = jira.issue('PROJECT-1')
issue.fields.status
JIRA Status: name='Fix failed', id='10830'
So, in answer of your question, you need to perform more transition to transfer issue from one state to another if states are not connected by transition.
eg.: Consider workflow from this url and your issue current state is "RESOLVED", and let say you want to achieve status "IN PROGRESS". Similar code can be used:
jira.transition_issue(issue, transition='Reopen Issue')
jira.transition_issue(issue, transition='Start Progress')