Skip to content

Instantly share code, notes, and snippets.

@KimSoungRyoul
Created August 18, 2020 13:21
Show Gist options
  • Save KimSoungRyoul/fcc2f2f84e485517411c7df584c5c1c3 to your computer and use it in GitHub Desktop.
Save KimSoungRyoul/fcc2f2f84e485517411c7df584c5c1c3 to your computer and use it in GitHub Desktop.
from django.db.models.query import RawQuerySet
from django.db.models import QuerySet
order_queryset: RawQuerySet = = (
Order.objects
.raw(raw_query="""
SELECT *
FROM "orm_practice_app_order"
INNER JOIN "orm_practice_app_user" ON ("orm_practice_app_order"."order_owner_id" = "orm_practice_app_user"."id")
WHERE "orm_practice_app_user"."username" = %(username_param1)s
""",
params={"username_param1": "username4"})
.prefetch_related('product_set_included_order')
)
# 위 Raw쿼리셋과 아래 쿼리셋은 동일한 SQL을 수행한다.
order_queryset: QuerySet = (
Order.objects
.select_related('order_owner')
.filter(order_owner__username='username4')
.prefetch_related('product_set_included_order')
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment