У объекта 'Manager' нет атрибута 'remove'
Я пытаюсь разрешить вошедшему пользователю удалить свой комментарий в разделе комментариев, но я продолжаю получать ошибку, указанную в заголовке, и я не уверен, почему. Я прочитал документацию по Managers, но не совсем понимаю, в чем проблема, поскольку все остальные мои модели работают нормально. Вот код
views.py
def delete_comment(request, comment_id):
comment_details = Comment.objects.get(id=comment_id)
# Throws error at this line
Comment.objects.remove(comment_details)
return HttpResponseRedirect('view')
models.py
class Comment(models.Model):
comment = models.CharField(max_length=64)
item = models.ForeignKey('Listing', on_delete=models.CASCADE, null=True)
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
date_created = models.DateTimeField(auto_now=True)
def __str__(self):
return f"{self.comment}"
Comment.objects
- это менеджер объектов модели Comment
. Чтобы стереть уже имеющийся Comment
объект, необходимо delete()
его:
def delete_comment(request, comment_id):
comment_details = Comment.objects.get(id=comment_id)
comment_details.delete()
return HttpResponseRedirect('view')
Или проще:
def delete_comment(request, comment_id):
Comment.objects.get(id=comment_id).delete()
return HttpResponseRedirect('view')