尝试关注用户时“用户匹配的查询不存在”

问题描述 投票:0回答:1

我正在使用 Django 构建一个小型社交媒体网站,当我单击关注按钮时,我收到此错误消息:“用户匹配查询不存在。”并在配置文件视图函数中显示错误“

user_object = User.objects.get(username=pk)
这是view.py文件中的以下函数,

def Follow(request):
    if request.method == "POST":
        follower_username = request.POST['follower']
        user_username = request.POST['user']
        
        # Get User model instances based on usernames
        follower_user = User.objects.get(username=follower_username)
        user_user = User.objects.get(username=user_username)

        if FollowersCount.objects.filter(follower=follower_user,user=user_user).first():
            delete_follower = FollowersCount.objects.get(follower=follower_user,user=user_user)
            delete_follower.delete()
            
        else:
            add_follower = FollowersCount.objects.create(follower=follower_user,user=user_user)
            add_follower.save()
    return redirect('profile',username=follower_user)

我尝试对 user_object 进行尝试和例外,但它不起作用,这是个人资料视图功能,

def Profile_view(request,pk):
    user_object = User.objects.get(username=pk)
    user_profile = Profile.objects.get(user=user_object)
    user_post = Post_Upload.objects.filter(user=user_object)
    following_count = FollowersCount.objects.filter(follower=user_object).count()
    followers_count = FollowersCount.objects.filter(user=user_object).count()
    post_count = user_post.count()
    context = {
        "user_profile":user_profile,
        "user_post":user_post,
        "post_count":post_count,
        "following_count":following_count,
        "followers_count":followers_count,
        }
    return render(request, 'profile.html',context)
python django django-views
1个回答
0
投票

我认为你的错误是你试图用

username
获取对象并用
pk
获取值,所以这里
.get()
方法引发错误 “用户匹配查询不存在”

def Profile_view(request,pk):
    user_object = User.objects.get(pk=pk) # Need to correct this line
© www.soinside.com 2019 - 2024. All rights reserved.