2

django-nonrelGoogle App Engine で (http://www.allbuttonspressed.com/projects/djangoappengine)を使用しています。私は自分のモデルなどをセットアップしており、すべてがうまく機能しています。ただ、一つ疑問がありました。エンティティのキ​​ーにアクセスできるようにしたい。「レビュー」という名前のモデルが与えられた場合Review.objects.get(pk = 1).key()、エラーをスローします ( AttributeError)。

特定のエンティティのキ​​ーを取得して、pk/id を強制的に使用する代わりに使用できるようにする方法はありますか? 一意の秘密の URL の一意の識別子としてキーを使用したい (誰かがこれを達成するためのより良い提案を持っている場合は、私はすべて聞いています)。

4

2 に答える 2

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 に答える
0

object.key().id() を呼び出すことで id を取得できます。これは、python 内で一意のキーを返します。テンプレートでは、単に object.key.id を呼び出すことができます。次に、get_by_idを使用してオブジェクトを取得できます

于 2011-05-17T07:29:03.110 に答える