1
我在GAE交互式控制檯(/ _ah/admin/interactive)中運行以下代碼,並且我不明白爲什麼get_by_id()在未指定父項時返回None。文檔沒有明確這個限制,我想不出一個強制執行的理由。爲什麼當沒有指定父項時,db.Model.get_by_id()會返回None?
import my_model
print my_model.all().fetch(1)[0].key().id() # Returns 33006, used later
print my_model.get_by_id(33006)
print my_model.get_by_id(my_model.all().fetch(1)[0].key().id())
parent = my_model.all().fetch(1)[0].parent()
print my_model.get_by_id(33006, parent=parent)
輸出:
33006
None
None
<my_model object at 0x109a6a690>
db.Model定義和代碼顯示對象的創建與祖先:
class my_model(db.Model):
user_id = db.StringProperty(indexed=True)
email = db.StringProperty(indexed=True, default=None)
def create(parent):
obj = my_model(user_id='x', email='y', parent=parent)
obj.put()