Ich versuche, eine Entity per Schlüssel unter Verwendung der ID zu laden, die ihr vom Datenspeicher zugewiesen wurde, aber ich sehe keine API-Methode, um dies zu tun (mit NDB). Ich dachte, ich wäre in der Lage, einen Schlüssel aus einer Integer-ID zu machen und key.get () zu verwenden, um die Entity zu laden, aber ich sehe keinen Weg, einen Schlüssel aus nur einer ID zu machen. Ich vermute, ich vermisse hier etwas Offensichtliches. Wie sollte ich eine Entität laden, in der ich nur die ID kenne?
Modelle in NDB definieren ihren Schlüsseltyp nicht als Teil des Modells. Dies ist insofern nützlich, als Sie einen bestimmten Modelltyp verwenden können, auf den über mehrere verschiedene Arten von Schlüsseln und Eltern zugegriffen werden kann, wodurch sie flexibler werden. Aber es ist etwas problematisch, weil es nicht immer klar ist, was der Schlüssel darstellt oder wo er herkommt.
In Fällen, in denen es immer nur einen Schlüssel für ein bestimmtes Modell gibt (was fast jedes Modell ist), möchte ich eine Klassenmethode erstellen Schlüssel, der ein bisschen semantische Klarheit hinzufügt:
%Vor%Sicher ist der hinzugefügte Code nicht unbedingt notwendig, aber er bringt Klarheit und macht meine Modelle längerfristig wartungsfähig.
Tags und Links google-app-engine google-cloud-datastore