after setup_postdata, the_content() only displays text before the read more tag

Check out the examples on the setup_postdata Codex page. You must pass a reference to the global $post, it won’t work with any other variable.

global $post;            // make sure we're working with the global.
$post = $get_train;      // or assign get_post result directly to $post.
setup_postdata( $post ); // this must be the global $post.