¿Key.from_path llega al almacén de datos?
-
22-07-2019 - |
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.
Solución
Después de excavar y hacer preguntas sobre otro grupo, resulta que:
Las teclasestá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:
- El tipo de entidad, que la clasifica para fines de consultas del almacén de datos
- Un identificador para la entidad individual, que puede ser
- una cadena de nombre clave
- una identificación numérica entera
- Una ruta de antepasado opcional que ubica a la entidad dentro de la jerarquía del Almacén de datos
fuente: https://developers.google.com/appengine/docs/ python / datastore / entidades