Обратите внимание, что я новичок в Django. Я пытался дать значение для экземпляра «post» формы. Что я хочу сделать, так это связать мой комментарий с конкретной c записью. Я мог бы связать свой комментарий с автором с запросом пользователя, который в настоящее время вошел в систему, но не может установить соответствующий пост. У меня есть два варианта для urls.py:
- Первый - установить путь к
<int:pk>
, что дает ошибку 'int' is not iterable
. - , второй - к
<pk>
который выдает ошибку Cannot resolve keyword '1' into field. Choices are: author, author_id, comments, content, date_posted, id, title
## my views.py
class CommentCreateView(LoginRequiredMixin,CreateView):
model = Comment
fields = ['content']
def form_valid(self,form):
form.instance.author = self.request.user
form.instance.post = Post.objects.filter(self.kwargs['pk']).first()
return super().form_valid(form)
## my models.py
class Comment(models.Model):
post = models.ForeignKey(Post,on_delete=models.CASCADE,related_name='comments')
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User,on_delete=models.CASCADE)
def __str__(self):
return self.content
def get_absolute_url(self):
return reverse('post-detail', kwargs={'pk':self.pk})
## my urls.py
path('post/<pk>/comment/', CommentCreateView.as_view(), name="comment-create")