Всем привет!
Подскажите, как автоматически подставить в форму данные из модели (book и имя юзера который сейчас в системе). Сейчас я могу выбрать любого пользователя и любую книгу.
Я хочу сделать возможность написать отзыв о книге.
Заранее спасибо за информацию!
model.py
class Review(models.Model):
book = models.ForeignKey(Book, on_delete=models.CASCADE, related_name='review',)
review = models.CharField(max_length=255)
author = models.ForeignKey(get_user_model(), on_delete=models.CASCADE,)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.review
view.py
class AddNewReview(LoginRequiredMixin, CreateView):
model = Review
form_class = AddReview
template_name = 'books/add_review.html'
success_url = reverse_lazy('book_list')
urls.py
path('add_review/<int:pk>/', AddNewReview.as_view(), name='add_review'),
book_detail.html
<a href="{% url 'add_review' book.id %}">Add review</a>
add_review.html
<form method="POST">
{% csrf_token %}
{{ form|crispy }}
<button class="btn btn-success" type="submit">Submit</button>
</form>