Skip to content

Commit 91687e8

Browse files
committed
select_related applied for item views
1 parent ab10a33 commit 91687e8

4 files changed

Lines changed: 9 additions & 13 deletions

File tree

core/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from django.db import models
22

33
class TimeStampModel(models.Model):
4-
created_at = models.DateTimeField(auto_now_add=True)
4+
created_at = models.DateTimeField(auto_now_add=True, db_index=True)
55
modified_at = models.DateTimeField(auto_now=True)
66

77
class Meta:

docker-compose.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ services:
1818
- .:/app
1919
- static_volume:/app/staticfiles
2020
- media_volume:/app/media
21+
ports:
22+
- "8089:8089"
2123
expose:
2224
- "8000"
2325
environment:

items/views.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,15 @@ def get(self, request):
2525
else:
2626
cache_key = f"item_list:{global_version}:total:page:{page}"
2727

28-
#cached_result = cache.get(cache_key)
28+
cached_result = cache.get(cache_key)
2929

30-
#if cached_result:
31-
# return JsonResponse({'MESSAGE': 'SUCCESS (CACHE)', 'RESULT': cached_result}, status=200)
30+
if cached_result:
31+
return JsonResponse({'MESSAGE': 'SUCCESS (CACHE)', 'RESULT': cached_result}, status=200)
3232

3333
if name:
34-
items = Item.objects.filter(name__icontains=name).order_by('-created_at')
34+
items = Item.objects.filter(name__icontains=name).select_related('category').order_by('-created_at')
3535
else:
36-
items = Item.objects.all().order_by('-created_at')
37-
38-
#if name:
39-
# # select_related('category') 추가
40-
# items = Item.objects.filter(name__icontains=name).select_related('category').order_by('-created_at')
41-
#else:
42-
# items = Item.objects.all().select_related('category').order_by('-created_at')
36+
items = Item.objects.all().select_related('category').order_by('-created_at')
4337

4438
paginator = Paginator(items, 20)
4539
items_page = paginator.get_page(page)

locustfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ def view_page(self):
2626

2727
@task(1)
2828
def stress_test_heavy_query(self):
29-
self.client.get("/items/?name=ThisIsNeverExistProduct", name="/items/?name=[empty]")
29+
self.client.get("/items?name=ThisIsNeverExistProduct", name="/items?name=[empty]")

0 commit comments

Comments
 (0)