I use get_by_id () to read objects from NDB, and I do not get it to work with objects that are part of a group of objects:
from google.appengine.ext import ndb class Folder(ndb.Model): name = ndb.StringProperty() parent_folder_key = Folder(name = 'Parent folder').put() sub_folder_key = Folder(name = 'Subfolder', parent=parent_folder_key).put() id_list = [] print 'All folders:' for f in Folder.query(): print f id_list.append(f.key.id()) print '\nFolders by id:' for id in id_list: print Folder.get_by_id(id)
Conclusion:
All folders: Folder(key=Key('Folder', 5814), name=u'Parent folder') Folder(key=Key('Folder', 5814, 'Folder', 5815), name=u'Subfolder') Folders by id: Folder(key=Key('Folder', 5814), name=u'Parent folder') None
Is it design or is it a mistake? I saw that there were some problems with get_by_id () when using namespaces earlier (I am using SDK 1.6.6). How can I set folders that have parents from ID?
source share