ОБНОВЛЕНИЕ: После дальнейшего тестирования кажется, что эта проблема затрагивает все дочерние объекты в моей группе объектов. Моим корневым родителем для всех этих разных экземпляров является пользовательский тип, который является моим собственным созданием, а не встроенный пользовательский тип. После удаления parent = user из конструктора дочернего Kind, get_by_key_name работает как положено. Однако я хотел бы иметь возможность использовать функциональность Entity Group вместе с определенными ключами, если это возможно.
-
Привет,
Я пытаюсь использовать определенные имена ключей для ускорения запросов в моем проекте GAE.
Однако у меня возникла странная проблема, когда я не могу получить ключ. Этот код не работает:
for l in Logins.all().fetch():
print Login.get_by_key_name(l.key().name())
Некоторые заметки:
- Я тестировал только в SDK
l.key (). Name () Возвращает строку имени ключа, указанную в сущности, когда я смотрю в хранилище данных. Я могу скопировать и вставить строку из истории данных и использовать ее в качестве аргумента для get_by_key_name (), и это тоже не работает.
все имена ключей для вида Login начинаются с префикса «l» (т. Е. Строчные буквы «L»), в остальном все строчные и могут содержать символы подчеркивания или тире, но не более 500 байтов.
Другие добрые работы, подобные этой работе.
- Ключ - это интерполяция двух свойств типа Login, и я могу просто получить объекты, используя обычные методы .filter ()
- «Родителем» для экземпляров является класс User. (упомяну на случай, если это будет иметь какое-то отношение к тому, что я должен получить)
Так что я должен спросить, есть ли очевидные причины, по которым это не сработает? Известны ли проблемы с поиском по ключевому слову с использованием SDK?