'Looks up movie on tmdb and creates a new database model for it.
These instances should only be added to a session via `session.merge`.'

def __init__(self, id):

    self.id = id
    try:
        movie = tmdb_request(u'movie/{}'.format(self.id), append_to_response=u'alternative_titles')
    except requests.RequestException as e:
        raise LookupError((u'Error    updating    data    from    tmdb:    %s' % e))
    self.imdb_id = movie[u'imdb_id']
    self.name = movie[u'title']
    self.original_name = movie[u'original_title']
    if movie.get(u'release_date'):
        self.released = dateutil_parse(movie[u'release_date']).date()
    self.runtime = movie[u'runtime']
    self.language = movie[u'original_language']
    self.overview = movie[u'overview']
    self.tagline = movie[u'tagline']
    self.rating = movie[u'vote_average']
    self.votes = movie[u'vote_count']
    self.popularity = movie[u'popularity']
    self.adult = movie[u'adult']
    self.budget = movie[u'budget']
    self.revenue = movie[u'revenue']
    self.homepage = movie[u'homepage']
    try:
        self.alternative_name = movie[u'alternative_titles'][u'titles'][0][u'title']
    except (KeyError, IndexError):
        self.alternative_name = None
    self._genres = [TMDBGenre(**g) for g in movie[u'genres']]
    self.updated = datetime.now()
