Przy użyciu pakietu SDK aplikacji Google App Engine i języka Python napotykam problem: nie mogę uzyskać dostępu do właściwości ID danej właściwości obiektu. Jedyne właściwości mam dostępu są zdefiniowane w klasie modelu, a także właściwość klucza (patrz odpowiedź poniżej):Nie można uzyskać dostępu do właściwości ID z jednostki magazynu danych
class Question(db.Model):
text = db.StringProperty()
answers = db.StringListProperty()
user = db.UserProperty()
datetime = db.DateTimeProperty()
mogę uzyskać dostęp do tekstu, odpowiedzi, użytkownik, datetime i kluczowych właściwości dobrze. Nie mogę jednak uzyskać dostępu do właściwości ID. Na przykład po pobraniu wszystkich podmiotów (za pomocą Question.all()):
# OK Within a template, this will return a string :
{{ question.text }}
# OK, this will return the entity key :
{{ question.key }}
# KO this will return nothing :
{{ question.id }}
pomysłów? Dzięki !
Klucz i identyfikator nie są właściwościami encji Datastore. key() jest metodą instancji, a id() jest metodą instancji klucza. {{entity.key.id}} działa tylko dlatego, że bit po. będą interpretowane jako wywołanie metody, gdy będzie to właściwe. – geoffspear