Hi,
I have a code with a query:
qs = User.objects.active(
gender__in=user.speedy_match_profile.gender_to_match,
diet__in=user.speedy_match_profile.diet_to_match,
smoking_status__in=user.speedy_match_profile.smoking_status_to_match,
relationship_status__in=user.speedy_match_profile.relationship_status_to_match,
speedy_match_site_profile__gender_to_match__contains=[user.gender],
speedy_match_site_profile__diet_to_match__contains=[user.diet],
speedy_match_site_profile__smoking_status_to_match__contains=[user.smoking_status],
speedy_match_site_profile__relationship_status_to_match__contains=[user.relationship_status],
date_of_birth__range=age_ranges,
speedy_match_site_profile__min_age_to_match__lte=user.get_age(),
speedy_match_site_profile__max_age_to_match__gte=user.get_age(),
speedy_match_site_profile__height__range=(self.model.settings.MIN_HEIGHT_TO_MATCH, self.model.settings.MAX_HEIGHT_TO_MATCH),
speedy_match_site_profile__not_allowed_to_use_speedy_match=False,
speedy_match_site_profile__active_languages__contains=[language_code],
).exclude(
pk__in=[user.pk] + blocked_users_ids + blocking_users_ids,
).prefetch_related(
"likes_to_user",
"friends",
).order_by('-speedy_match_site_profile__last_visit')
user_list = qs[:2400]
matches_list = []
for other_user in user_list:
... # The rest of my code.
I'm using prefetch_related and I also limit the query to the first 2,400 users. So if, for example, there are 24,000 users in the original query - will the
prefetch_related function be executed for all of them, or only the first 2,400? I think it should be 2,400 but I can't find it documented. Do you know where is the documentation for this?
Thanks,
Uri.