Я пытаюсь создать форму комментария в приложении для публикации сообщений с django, проблема в том, что я не могу получить его собственный идентификатор объекта, любая идея?
#views.py
class MyFormView(FormView):
form_class = CommentForm
success_url = "/"
def form_valid(self,form,*args,**kwargs):
comment = form.save(commit=False)
comment.message=Message.objects.get(id=???)
comment.save()
return super(MyFormView, self).form_valid(form)
#urls.py
urlpatterns = [
path('', MessageListView.as_view(),name="messaging-main"),
path('new', MessageCreateView.as_view(),name="messaging-new"),
path('post/<int:pk>', MessageDetailView.as_view(),name="messaging-detail"),
path('my_form',MyFormView.as_view(),name="form-view")
]
#forms.py
class CommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = ['comment']
#models.py
class Message(models.Model):
date_posted = models.DateTimeField(default=timezone.now)
message = models.TextField()
image = models.ImageField(default="")
def __str__(self):
return self.message
class Comment(models.Model):
message = models.ForeignKey(Message,on_delete=models.CASCADE)
comment = models.TextField(max_length=50)
date_posted = models.DateTimeField(default=timezone.now)
def __str__(self):
return "Comment on {}".format(str(self.date_posted))
def get_absolute_url(self):
return reverse("messaging-detail",kwargs={"id":self.id})
Если бы я должен был заменить ??? например, 7, он будет публиковать каждый комментарий к сообщению (или сообщению) с идентификатором 7, но я хочу, чтобы комментарий был опубликован в сообщении, которое я вижу. Любая помощь приветствуется