def set_rating(request, rating_form):
"""
Checks if rating for books exists. If exists, changes it. If not, creates a new one.
"""
try:
book_rating = BookRating.objects.get(id_user=TheUser.objects.get(id_user=request.user),
id_book=Book.objects.get(id=rating_form.cleaned_data['book']))
book_rating.rating = rating_form.cleaned_data['rating']
book_rating.save()
except ObjectDoesNotExist:
BookRating.objects.create(id_user=TheUser.objects.get(id_user=request.user),
id_book=Book.objects.get(id=rating_form.cleaned_data['book']),
rating=rating_form.cleaned_data['rating'])
finally:
logger.info("User '{}' set rating '{}' to book with id: '{}'."
.format(request.user, rating_form.cleaned_data['rating'], rating_form.cleaned_data['book']))
# ----------------------------------------------------------------------------------------------------------------------
评论列表
文章目录