这是我的视图.py
def searchposts(request):
if request.method == 'GET':
query= request.GET.get('q')
submitbutton= request.GET.get('submit')
if query is not None:
lookups= Q(suspect_name__icontains=query) | Q(complaint_name__icontains=query)
results= CreateRecord.objects.filter(lookups).distinct()
context={'results': results,
'submitbutton': submitbutton}
return render(request, 'search.html', context)
else:
return render(request, 'search.html')
else:
return render(request, 'search.html')
搜索正在工作,但它返回一个与查询匹配的查询集,而与用户无关。我希望它在查询集上返回,该查询集与数据库中当前登录的用户数据相匹配。
尝试
results= CreateRecord.objects.filter(user=request.user).filter(lookups).distinct()
Django文档HttpRequest.user.
Django使用会话和中间件来挂接身份验证系统转换为请求对象
它们在每个表示当前用户的请求。如果当前用户没有登录后,此属性将设置为AnonymousUser的实例,否则它将是User的一个实例。