mirror of
https://github.com/pinry/pinry.git
synced 2025-11-14 17:05:50 +01:00
Fix three N+1 queries in pin loading
Fetch the submitter with a join and get all the images and tags in one query each. This reduces the total query count for loading 50 pins from 304 to 158. See issue #85.
This commit is contained in:
@@ -135,7 +135,8 @@ class PinResource(ModelResource):
|
|||||||
filtering = {
|
filtering = {
|
||||||
'submitter': ALL_WITH_RELATIONS
|
'submitter': ALL_WITH_RELATIONS
|
||||||
}
|
}
|
||||||
queryset = Pin.objects.all()
|
queryset = Pin.objects.all().select_related('submitter'). \
|
||||||
|
prefetch_related('image', 'tags')
|
||||||
resource_name = 'pin'
|
resource_name = 'pin'
|
||||||
include_resource_uri = False
|
include_resource_uri = False
|
||||||
always_return_data = True
|
always_return_data = True
|
||||||
|
|||||||
Reference in New Issue
Block a user