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()
答案 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