使用Python Google AppEngine获取数据库中每一行的行ID/键



我需要获取每一行的行 id,以便我可以将其用作主键。这就是我正在做的

    qr = MoreGames.query()
    res = qr.fetch()
    if res:
        data = []
        for row in res:
            d = {'id':row.key().id(),'title':row.title,'description':row.description,'link':row.link}
            data.append(d);

每当我使用 row.key().id() 时,它都会给我"500 内部服务器错误"。

使用 .query() 表示您使用的是 NDB 而不是 DB,在这种情况下,' key ' 是一个属性而不是一个方法,因此:

row.key.id()

以获取密钥的 ID 部分。

尝试调试。

您的密钥很可能有一个名称而不是一个 ID。 尝试 id_or_name() 而不是 id()。