App Engine - AttributeError:'function'对象没有属性'id'

Jed*_*sen 2 python google-app-engine google-cloud-datastore

我正在使用App Engine,SDK 1.6.3和Python 2.7.

我创建了这样的模型:

class MyModel(db.Model):
    name = db.StringProperty()
    website = db.StringProperty()
Run Code Online (Sandbox Code Playgroud)

我可以迭代并查看除Key id之外的所有内容.例如,在交互式shell中我可以运行:

from models import *
list = MyModel.all()
for p in list:
    print(p.name)
Run Code Online (Sandbox Code Playgroud)

它会打印每个实体的名称.但当我运行这个:

from models import *
list = MyModel.all()
for p in list:
    print(p.key.id)  [or p.key.name or p.key.app]
Run Code Online (Sandbox Code Playgroud)

我得到一个AttributeError:

Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/admin/__init__.py", line 317, in post
    exec(compiled_code, globals())
  File "<string>", line 4, in <module>
AttributeError: 'function' object has no attribute 'id'
Run Code Online (Sandbox Code Playgroud)

谁能帮帮我吗??

gar*_*rtb 7

key()和id()是实例方法.尝试用括号:

   for p in list:
        print(p.key().id())
Run Code Online (Sandbox Code Playgroud)

请参阅文档.