Pregunta

Tengo una lista de nombres clave que quiero recuperar en masa (los nombres de las claves se almacenan en una StringListProperty adjunta a una entidad). Mi plan general era hacer:

usernames = userrefInstance.users # A collection of strings on another 
model. 
keys = [Key.from_path('User', key_name) for username in usernames] 
users = db.get(keys)

Mis preguntas ¿Key.from_path accedió al almacén de datos? Estoy tratando de ser tan lo más rápido posible y si Key.from_path llega al almacén de datos, necesito trabajar Otra forma de almacenar una colección de llaves: no quiero particularmente almacenar el objeto clave en una propiedad de lista ya que también proporciono usuario consultas amigables a través de StringListPropererties.

¿Fue útil?

Solución

Después de excavar y hacer preguntas sobre otro grupo, resulta que:

  Las teclas

están completamente determinadas por la aplicación   ID y la ruta, por lo que no hay necesidad de   Acceda al almacén de datos para esto. - Nick Johnson

O también puede usar una Lista de db.Key

Otros consejos

Los parámetros que pasa a Key.from_path () contienen toda la información necesaria para crear la clave única, por lo que no es necesario que llegue al almacén de datos.

  

Cada entidad en el almacén de datos tiene una clave que la identifica de forma exclusiva.   La clave consta de los siguientes componentes:

     
      
  1. El tipo de entidad, que la clasifica para fines de consultas del almacén de datos
  2.   
  3. Un identificador para la entidad individual, que puede ser   
        
    • una cadena de nombre clave
    •   
    • una identificación numérica entera
    •   
  4.   
  5. Una ruta de antepasado opcional que ubica a la entidad dentro de la jerarquía del Almacén de datos
  6.   

fuente: https://developers.google.com/appengine/docs/ python / datastore / entidades

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top