Frage

Ich habe eine Liste von Schlüsselnamen, die ich bulk wollen holen (Die Tastennamen sind in einem StringListProperty an eine Entität gespeichert). Mein allgemeiner Plan war, zu tun:

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)

Meine Fragen hat Key.from_path den Datenspeicher zu schlagen? Ich versuche, so zu sein, schnell wie möglich und wenn Key.from_path trifft auf den Datenspeicher ich arbeiten müssen eine weitere Möglichkeit, eine Sammlung von Schlüssel zu speichern - ich besonders nicht wollen speichern Sie das Key-Objekt in einer Liste Eigenschaft als ich auch Benutzer bereitstellen freundliche Anfragen über die StringListPropererties.

War es hilfreich?

Lösung

Nach dem Graben und Fragen zu einer anderen Gruppe, es stellt sich heraus, dass:

  

Tasten sind vollständig von der App bestimmt   ID und der Weg, so gibt es keine Notwendigkeit,   Zugriff auf den Datenspeicher für diese. - Nick Johnson

Oder Sie können auch eine Liste der db.Key

verwenden

Andere Tipps

Die Parameter, die Sie Key.from_path() passieren enthalten alle notwendigen Informationen, den eindeutigen Schlüssel zu bauen, so dass es keine Notwendigkeit für den Datenspeicher zu treffen.

  

Jede Entität im Datenspeicher hat einen Schlüssel, der es eindeutig identifiziert.   Der Schlüssel besteht aus folgenden Komponenten:

     
      
  1. Die Art der Einheit, die es für den Zweck der Datenspeicherabfragen stuft
  2.   
  3. Eine Kennung für die einzelnen Unternehmen, die entweder sein kann   
        
    • ein Schlüssel name string
    •   
    • eine ganze Zahl numerische ID
    •   
  4.   
  5. Ein optionaler Vorfahr Pfad der Einheit innerhalb der Datenspeicher-Hierarchie Ortung
  6.   

Quelle: https://developers.google.com/appengine/docs/ python / Datenspeicher / Entitäten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top