def get_related_objects_for_create(user_id, book_form):
"""
Selects related objects to book instance when create new book; creates author object if needed.
:param int user_id: The id of user.
:param app.forms.AddBookForm book_form: The form with received data.
:return: A dict of objects related to book.
"""
try:
author = Author.objects.get(author_name__iexact=book_form.cleaned_data['author'])
except ObjectDoesNotExist:
author = Author.objects.create(author_name=book_form.cleaned_data['author'])
logger.info("Created new author with name: '{}' and id: '{}'."
.format(author.author_name, author.id))
category = Category.objects.get(category_name=book_form.cleaned_data['category'])
lang = Language.objects.get(language=book_form.cleaned_data['language'])
user = TheUser.objects.get(id_user=user_id)
return {'author': author, 'category': category, 'lang': lang, 'user': user}
# ------------------------------------------------------------------------------------------------------------------
评论列表
文章目录