Skip to content

Commit d1090f0

Browse files
committed
queries improvements
1 parent 703f510 commit d1090f0

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

readthedocs/search/tasks.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -154,20 +154,19 @@ def record_search_query(project_slug, version_slug, query, total_results, time):
154154
return
155155

156156
before_10_sec = time - timezone.timedelta(seconds=10)
157-
partial_query_qs = SearchQuery.objects.filter(
157+
partial_query_obj = SearchQuery.objects.filter(
158158
project__slug=project_slug,
159159
version__slug=version_slug,
160160
query__startswith=query,
161161
created__gte=before_10_sec,
162-
).order_by('-created')
162+
).order_by('-created').first()
163163

164164
# if partial query exists,
165165
# just update it instead of creating new SearchQuery object.
166-
if partial_query_qs.exists():
167-
obj = partial_query_qs.first()
168-
obj.created = time
169-
obj.query = query
170-
obj.save()
166+
if partial_query_obj:
167+
partial_query_obj.created = time
168+
partial_query_obj.query = query
169+
partial_query_obj.save()
171170
return
172171

173172
# don't record query with zero results.
@@ -180,8 +179,8 @@ def record_search_query(project_slug, version_slug, query, total_results, time):
180179
)
181180
return
182181

183-
project_qs = Project.objects.filter(slug=project_slug)
184-
if not project_qs.exists():
182+
project = Project.objects.filter(slug=project_slug).first()
183+
if not project:
185184
log.debug(
186185
'Not recording the search query because project does not exist. '
187186
'project_slug: %s' % (
@@ -190,7 +189,6 @@ def record_search_query(project_slug, version_slug, query, total_results, time):
190189
)
191190
return
192191

193-
project = project_qs.first()
194192
version_qs = Version.objects.filter(project=project, slug=version_slug)
195193

196194
if not version_qs.exists():

0 commit comments

Comments
 (0)