Vinculación a la entidad desde la lista

Tengo una página de Consultas que enumera las consultas en el almacén de datos. El bucle de la lista es así:

{% for consult in consults %}
 <tr>
  <td><a href="consults/#">{{ consult.consult_date }}</a></td>
  <td>{{ consult.consult_time }}</td>
  <td>{{ consult.patient_first }}</td>
  <td>{{ consult.patient_last }}</td>
  <td><span class="badge badge-warning">{{ consult.consult_status }}</span></td>
 </tr>
{%endfor%}

El manejador es así:

class ConsultsPage(webapp2.RequestHandler):
    def get(self):
        consults = Consults.query().fetch(5)
        consults_dic = {"consults" : consults}
        template = JINJA_ENVIRONMENT.get_template('/templates/consults.html')
        self.response.out.write(template.render(**consults_dic))

Quiero conocer el concepto básico detrás de cómo hago que cada consulta en la lista sea un enlace para entrar y ver información sobre esa consulta en particular.

Entiendo que necesito usar una clave para recuperar una entidad, pero no estoy seguro del resto del proceso.

Editar He agregado la línea:

url = '/display_consult?key=%s' % consults.key.urlsafe()

a mi página Consults (donde se enumeran las consultas). El controlador ahora se ve así:

class ConsultsPage(webapp2.RequestHandler):
    def get(self):
        consults = Consults.query().fetch(5)
        consults_dic = {"consults" : consults}
        url = '/display_consult?key=%s' % consults.key.urlsafe()
        template = JINJA_ENVIRONMENT.get_template('/templates/consults.html')
        self.response.out.write(template.render(**consults_dic))

Sin embargo me sale este error:

url = '/display_consult?key=%s' % consults.key.urlsafe()
AttributeError: 'list' object has no attribute 'key'

Además, ¿qué pongo en el enlace href en mi bucle que enumera las consultas? es algo como:

href="consults/{{ url }}"

Respuestas a la pregunta(1)

Su respuesta a la pregunta