send_message: Don't fetch unnecessary data on recipients' UserProfiles.

(imported from commit 4e4b5bdb510610cf7198bfb01fc465fe15bd834d)
This commit is contained in:
Tim Abbott
2013-06-20 17:11:05 -04:00
parent edc4f51b00
commit d2d1613153

View File

@@ -263,9 +263,10 @@ def do_send_messages(messages):
assert((len(message['recipients']) == 1) or (len(message['recipients']) == 2))
elif (message['message'].recipient.type == Recipient.STREAM or
message['message'].recipient.type == Recipient.HUDDLE):
message['recipients'] = [s.user_profile for
s in Subscription.objects.select_related(
"user_profile").filter(recipient=message['message'].recipient, active=True)]
query = Subscription.objects.select_related("user_profile").only(
"id", "user_profile__id", "user_profile__is_active").filter(
recipient=message['message'].recipient, active=True)
message['recipients'] = [s.user_profile for s in query]
else:
raise ValueError('Bad recipient type')