Here's my view:
def rsvp_list(request, id, template="rsvp/rsvp_list.html"): rsvp = RSVP.objects.get(id=id) return render_to_response(template, { 'attendees': rsvp.attendee_set.all().order_by('email__first_name'), }, context_instance=RequestContext(request))
and here's my template:
{% for attendee in attendees %} {{ attendee.email.get_name }}{{ attendee.guests }} {% endfor %}
When the request is run, the template then runs a query for each attendee to get their first and last name (get name just puts the two together). Here's an example query that django fires from the template:
SELECT `rsvp_email`.`id`, `rsvp_email`.`added`, `rsvp_email`.`first_name`, `rsvp_email`.`last_name`, `rsvp_email`.`address` FROM `rsvp_email` WHERE `rsvp_email`.`id` = 1038
How can I retrieve the first and last name of each attendee is the first query without looping through it 400 times in the template?