who played david in once upon a time
Josh Dallas Joshua Paul Dallas[2] (born December 18, 1978)[1] is an American actor. He is best known for his roles as Prince Charming/David Nolan in the ABC television series Once Upon a Time and Fandral in the Marvel Comics film adaptation Thor.