/ home /处不存在IsNotExist朋友匹配查询

时间:2018-07-18 15:02:00

标签: python django

from home.models import Post,Friend
from django.contrib.auth.models import User


class HomeView(TemplateView):
    template_name='home/home.html'

    def get(self,request):
        form=HomeForm()
        posts=Post.objects.all().order_by('-created')
        users=User.objects.exclude(id=request.user.id)

        friend=Friend.objects.get(current_user=request.user)
        friends=friend.users.all()

1 个答案:

答案 0 :(得分:0)

  

朋友匹配查询不存在

此错误是因为您的查询为空。如果查询为空或包含多个结果,.get()将返回错误。在适当条件下使用.filter()

请参阅文档的this part

.get()直接返回一个对象时,filter()返回一个查询集,因此您必须检查查询集是否为空,然后使用queryset.first()queryset[0]

另一种解决方案是将.get()包装在try / except块中:

try:
    friend=Friend.objects.get(current_user=request.user)
except:
    # No Friend was found for this current_user
    # Do something