Python 应用程序引擎-属性错误:';功能';对象没有属性';id';

Python 应用程序引擎-属性错误:';功能';对象没有属性';id';,python,google-app-engine,google-cloud-datastore,Python,Google App Engine,Google Cloud Datastore,我正在使用应用程序引擎,SDK 1.6.3和Python 2.7 我创建了这样一个模型: class MyModel(db.Model): name = db.StringProperty() website = db.StringProperty() 我可以迭代并查看除密钥id之外的所有内容。例如,在交互式shell中,我可以运行以下命令: from models import * list = MyModel.all() for p in list: print(p

我正在使用应用程序引擎,SDK 1.6.3和Python 2.7

我创建了这样一个模型:

class MyModel(db.Model):
    name = db.StringProperty()
    website = db.StringProperty()
我可以迭代并查看除密钥id之外的所有内容。例如,在交互式shell中,我可以运行以下命令:

from models import *
list = MyModel.all()
for p in list:
    print(p.name)
from models import *
list = MyModel.all()
for p in list:
    print(p.key.id)  [or p.key.name or p.key.app]
它会打印每个实体的名称。但当我运行这个:

from models import *
list = MyModel.all()
for p in list:
    print(p.name)
from models import *
list = MyModel.all()
for p in list:
    print(p.key.id)  [or p.key.name or p.key.app]
我得到一个属性错误:

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'
回溯(最近一次呼叫最后一次):
文件“/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine default.bundle/Contents/Resources/google\u appengine/google/appengine/ext/admin/\uuuuuu init\uuuuuu.py”,第317行,在post中
exec(编译的_代码,globals())
文件“”,第4行,在
AttributeError:“函数”对象没有属性“id”
谁能帮帮我吗 所以你需要做:

from models import MyModel
lst = MyModel.all()
for p in lst:
    print(p.key().id())
其他说明:

  • 尽可能避免从[某物]导入*。这可能会导致难以调试命名空间问题
  • 不要使用变量名对内置进行阴影处理。例如,不应使用
    列表
  • key()和id()是实例方法。尝试使用括号:

       for p in list:
            print(p.key().id())