2

django-nonrel在 Google App Engine 上使用 (http://www.allbuttonspressed.com/projects/djangoappengine)。我有我的模型等设置,一切都很好。我有一个问题。我希望能够访问实体的密钥。给定一个名为“Review”的模型,我这样做Review.objects.get(pk = 1).key()会引发错误(AttributeError)。

有什么方法可以获取给定实体的密钥,以便我可以使用它而不是被迫使用 pk/id?我想使用密钥作为唯一和秘密 URLS 的唯一标识符(如果有人有更好的建议来实现这一点,我会全力以赴)。

4

2 回答 2

0

您可以通过调用 object.key().id() 来获取 id,它在 python 中返回一个唯一键。在模板中,您可以简单地调用 object.key.id 。然后你可以使用get_by_id来获取对象

于 2011-05-17T07:29:03.110 回答
0

您可以从元数据中获取 django-nonrel 的主键:

review._meta.pk

或键名:key=getattr(review,review._meta.pk.column)

显然,“id”字段会根据您是在开发服务器上还是在生产服务器上而变化。所以这行得通!

参考: http ://www.b-list.org/weblog/2007/nov/04/working-models/

于 2011-05-19T00:54:44.003 回答