def show_review(request, review_id=None):
    if review_id is None:
        return redirect("product-reviews")
    alias = "reviews-%d" % reviews.models.get_db_for_id(review_id)
    try:
        review = reviews.models.Review.objects.using(alias).get(id=review_id)
    except reviews.models.Review.DoesNotExist:
        return http.HttpResponseNotFound(loader.render_to_string(
                "reviews/missing.html",
                context_instance=RequestContext(request)))
    if review.author_id == -1:
        user = auth_models.AnonymousUser()
    else:
        user = auth_models.User.objects.get(id=review.author_id)
    product = products.models.Product.objects.get(id=review.product_id)
    data = {
            "title": "Reviews",
            "product": product,
            "review": review,
            "reviewer": user,
            }
    return render_to_response("reviews/review.html", data,
            RequestContext(request))
View a review for a product. If no review_id is given, a page for selecting
dataset/ETHPy150Open malcolmt/django-multidb-patterns/sharding/reviews/views.py/show_review