0

ndb モデルがあり、Python + Google appengine を使用しています。最初のフィールド「名前」に主キーを追加したい。たとえば、「Ada」という名前を追加した後、もう一度「Ada」を追加したい場合、追加してはいけません。エラーが発生します。djangoで簡単にできますが、google appengineではわかりませんでした。解決方法を教えてください。これが私のコードです:

class User(ndb.Model):
    username = ndb.StringProperty(indexed=False)
    created_date = ndb.DateTimeProperty(auto_now_add=True)
    updated_date = ndb.DateTimeProperty(auto_now_add=True)
4

1 に答える 1

1

get_or_insert()名前付きキーをエンティティに追加する を使用する必要があります。

したがって、ユーザー名が の場合、name = 'Ada'次のようなことができます。

 user_db = User.get_or_insert(name.lower(), username=name)

最初のパラメーターは でkey_name、関数を使用しlower()て、それらが一貫していることを確認し、必要な場合を除き、名前'ADA'を持つ人が新しいエンティティを作成できないようにしました。

于 2013-08-28T19:40:57.887 に答える