LIke functoin view продолжает бросать DoesNotExist в /group/3/ после того, как второй пользователь в группе публикует пост, когда он нравится другому пользователю

В настоящее время я пытаюсь решить проблему с функцией like на странице группы, которую я создаю, проблема в том, что когда первый пользователь группы размещает пост на странице группы, другие пользователи могут комментировать и ставить лайк на его пост, но как только второй пользователь той же группы размещает пост, то когда пост получает лайк или комментарий, он выбрасывает ошибку DoesNotExist at /group/3/. Мне интересно, почему я получаю эту ошибку, потому что когда первый пользователь написал сообщение, он не выбрасывал эту ошибку, когда его сообщение понравилось или было прокомментировано, но ошибка появляется только когда другой пользователь той же группы написал сообщение и оно понравилось или было прокомментировано. Буду благодарен за помощь. Вот мой вид функции like.

def like(request, pk):
    user = request.user
    post = Post.objects.get(pk=pk)
    group = GroupEx.objects.get(group=pk)
    liked= False
    like = Like.objects.filter(username=user, post=post,group=group)
    if like:
        like.delete()
    else:
        liked = True
        Like.objects.create(username=user, post=post, group=group)
    resp = {
        'liked':liked
    }
    response = json.dumps(resp)
    return redirect('group:main', pk=pk)
    return HttpResponse(response,content_type = "application/json")

Вот мой взгляд на комментарий.

def comment(request, pk):
    context = {}
    user = request.user
    post = get_object_or_404(Post, pk=pk)
    group = get_object_or_404(GroupEx,pk=pk)
    if request.method == 'POST':
        form = NewCommentForm(request.POST)
        if form.is_valid():
            data = form.save(commit=False)
            data.post = post
            data.group = group
            data.username = user
            data.save()
            return redirect('group:main', pk=pk)
    else:
        form = NewCommentForm()
        
    context['form'] = form  
    return render(request,'group/grouptimeline.html',context)

Вот эта модель для группового поста .

class Post(models.Model):
    group = models.ForeignKey(GroupEx, on_delete=models.CASCADE, related_name="group_post")
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE ,related_name="group_user")
    description = models.TextField(max_length=500, blank=True)
    pic = models.ImageField(upload_to='path/post/img' ,blank=True)
    date_posted = models.DateTimeField(auto_now_add=True)
    tags = models.CharField(max_length=100, blank=True)


class Comment(models.Model):
    group = models.ForeignKey(GroupEx, on_delete=models.CASCADE, related_name="group_comment")
    post = models.ForeignKey(Post, related_name='g_comments', on_delete=models.CASCADE, null=True, blank=True)
    username = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='g_comments', on_delete=models.CASCADE,null=True)
    comment = models.CharField(max_length=5000)


class Like(models.Model):
    group = models.ForeignKey(GroupEx, on_delete=models.CASCADE, related_name="group_liker")
    username = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='g_likes', on_delete=models.CASCADE)
    post = models.ForeignKey(Post, related_name='g_likes', on_delete=models.CASCADE)
    like_date  = models.DateTimeField(auto_now=True)
    comment_date = models.DateTimeField(auto_now_add=True)
Вернуться на верх