Skip to content

Commit 5651a0a

Browse files
authored
GITC-675: Creating index for column contributor_address for faster qu… (#9881)
* GITC-675: Creating index for column contributor_address for faster querying. * GITC-675: Simplifying the query, and query building
1 parent d18337c commit 5651a0a

3 files changed

Lines changed: 23 additions & 5 deletions

File tree

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Generated by Django 2.2.24 on 2021-12-14 14:13
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('grants', '0132_auto_20211203_1427'),
10+
]
11+
12+
operations = [
13+
migrations.AddIndex(
14+
model_name='subscription',
15+
index=models.Index(fields=['contributor_address'], name='grants_subs_contrib_d72508_idx'),
16+
),
17+
]

app/grants/models/subscription.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,3 +617,8 @@ def create_contribution(self, tx_id, is_successful_contribution=True):
617617

618618
update_grant_metadata.delay(self.pk)
619619
return contribution
620+
621+
class Meta:
622+
indexes = [
623+
models.Index(fields=['contributor_address',]),
624+
]

app/grants/views.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3752,11 +3752,7 @@ def get_trust_bonus(request):
37523752
except:
37533753
return allow_all_origins(HttpResponse(status=400))
37543754

3755-
query = Q()
3756-
for address in addresses:
3757-
query |= Q(contributor_address=address)
3758-
3759-
subscriptions = Subscription.objects.filter(query).prefetch_related('contributor_profile')
3755+
subscriptions = Subscription.objects.filter(contributor_address__in=addresses).prefetch_related('contributor_profile')
37603756
response = []
37613757
_addrs = []
37623758
for subscription in subscriptions:

0 commit comments

Comments
 (0)