我在进行任何搜索查询时收到此错误:
OperationalError at /search/
unrecognized token: "@"
我的观点:
class Search(ListView):
model = Opinion
template_name = 'home/search.html'
context_object_name = 'search_results'
paginate_by = 10
def get_queryset(self):
qs = Opinion.objects.all()
keywords = self.request.GET.get('q')
if keywords:
query = SearchQuery(keywords)
vector = SearchVector('text')
qs = qs.annotate(search=vector).filter(search=query)
qs = qs.annotate(rank=SearchRank(vector, query)).order_by('-rank')
return qs
我的搜索表单:
<form class="navbar-form navbar-left" role="search" method="get" action="{% url 'home:search' %}">
<div class="form-group">
<input type="text" class="form-control" name="q" value="">
</div>
<button type="submit" class="btn btn-default">Search</button>
</form>
任何建议或反馈都将受到欢迎并受到高度赞赏。
谢谢。
答案 0 :(得分:4)
确保您使用的是PostgreSQL数据库。
当我尝试搜索我的本地数据库时,我遇到了这个错误,这是SQLite。