Viewflow is a thin workflow layer on top of django. So your question could be reformulated as "how to pass an object b/w views in django"
Except if your case is about one task executed immediately after another during single HTTP request processing. In that case, you should use just python functions and pass an object as a parameter as usual. On the viewflow layer - it would be a single task. So no inter-task communication would happen.
One of the goals of BPMN workflow automation is to provide an ability to build performance reports based on the workflow data. So, to report friendly saving workflow data in a process mode is mandatory.
In a very few cases, you can consider use redis or memcached to keep workflow data in it. But it's highly unrecommended.
Another rare case is to combine View and Gateway task in a single custom task node. So you can take a view data and pass it to activation.done
to make a branching decision without data saving.