Социальный блог Кнопка Like
Кнопка Like не работает. вот мой код, пожалуйста, проверьте он выдает ошибку Не удается преобразовать ключевое слово 'username' в поле. Возможные варианты: id, post_id, post_id_id, user_id, user_id_id
view.py
def like_post(request):
    user_id = request.user.username
    post_id = request.GET.get('post_id')
    post = Post.objects.get(id=post_id)
    like_filter = LikePost.objects.filter(post_id=post_id,username=user_id).first()
    if like_filter == None:
        new_like = LikePost.objects.create(post_id=post_id, username=user_id)
        new_like.save()
        post.no_of_likes = post.no_of_likes+1
        post.save()
        return redirect('showpost.html')
    else:
        like_filter.delete()
        post.no_of_likes = post.no_of_likes-1
        post.save()
        return redirect('showpost.html')
model.py
class LikePost(models.Model):
    post_id = models.ForeignKey(Post,on_delete=models.CASCADE, null=True)
    user_id = models.ForeignKey(User,on_delete=models.CASCADE, null=True)
                
user_id = User.objects.get(id=request.user.pk)
Получите объект и передайте его для создания запроса, он будет работать, потому что ForeignKey принимает объект в зависимости от id или любого значения
 Вам нужно изменить likefilter, поскольку в настоящее время вы пытаетесь получить LikePost с атрибутами post_id и user_id. У вас должно получиться что-то вроде:
like_filter = LikePost.objects.filter(post_id=post_id,user_id=user_id).first()
 И я могу ошибаться, но кажется, что ваш user_id содержит значение имени пользователя вместо его id, так что вы также можете изменить это на:
user_id = request.user.id
                    user_id = request.user.pk
like_filter = LikePost.objects.filter(post_id=post_id, pk=user_id).first()
попробуйте этот способ