我正在使用 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)
我认为你的错误是你试图用
username
获取对象并用 pk
获取值,所以这里 .get()
方法引发错误 “用户匹配查询不存在”。
def Profile_view(request,pk):
user_object = User.objects.get(pk=pk) # Need to correct this line