Как увеличить поле целого числа, когда комментарий понравился - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть модель комментария, я хочу увеличить целочисленное поле, когда комментарий понравился. Как создать комментарий как для каждого комментария, сделанного пользователем. Я приложил изображение того, что я пробовал, но все еще не увеличивать целочисленное поле.

введите описание изображения здесь

class Comments (models.Model):
    comment_post = models.TextField()
    author = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE, null=True, blank=True)
    commented_image = models.ForeignKey('Image', on_delete=models.CASCADE, related_name='comments', null=True, blank=True)
    comment_likes = models.IntegerField(default=0)
    date = models.DateTimeField(auto_now_add=True)

def comments(request, id):  
    post = get_object_or_404(Image,id=id)
    if request.method == 'POST':
        form = CommentForm(request.POST)
        if form.is_valid():
            comment = form.save(commit=False)
            comment.author = request.user
            comment.commented_image = post
            comment.save()
            return redirect('site:comments', id=id)
    else:
        form = CommentForm()
    all_comments = Comments.objects.filter(
        author=request.user.id,
        commented_image=post,
    )
    images = Image.objects.filter(
        imageuploader_profile=request.user.id,
        image_caption=post,
    )
    context = {
        'form': form,
        'all_comments': all_comments,
        'images': images,
    }
    return render(request,'comments.html', context)

1 Ответ

1 голос
/ 15 февраля 2020

Возможно, вы захотите создать новую конечную точку, которая будет обрабатывать подобные комментарии

/comment/{id}/like 

, включая логи c get get_or_404, как только вы получите набор объектов, он будет равняться

comment.comment_likes +=1

Вы также можете найти отличное от обратного логи c

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...