ヒヤ、私は完全に答えられたキーの使用に関して以前に質問しました。Google App EngineでのPythonのキーまたはID
しかし、私のモデルのキーを作成して使用する方法があるのだろうかと私は思っています。私のiPhone Appの人はデータベースに格納するためにINTが必要だと言いました。 Keysで動作するPythonコードを取得しましたが、現在はトラックを追跡する必要があります。
私はiPhoneのアプリが大きな変更を加えることなく使用できる自動生成キー名と自動生成に関するあなたの意見を聞きたいと思っています。ここで
は私のモデルです:
class User(db.Model):
id = db.StringProperty()
name = db.StringProperty()
image = db.BlobProperty(default=None)
class Book(db.Model):
image = db.BlobProperty()
date_added = db.DateTimeProperty(auto_now_add=True)
is_active = db.BooleanProperty(default=True)
class BookUser(db.Model):
book = db.ReferenceProperty(Book)
user = db.ReferenceProperty(User)
is_active = db.BooleanProperty(default=True)
そして、どのように私は(下)キーを使用してそれらを扱いました。 BookUserレコードにサインインするたびに、それがまだ存在しない場合に作成されます。このデータをすべてiPhoneに送信し、IDをデータベースに保存する必要があります。私は、iPhoneの開発者に "それを吸う"ように言わなければならないと思っています。
また、以下の方法で改善できますか?
### Get the Users Details
user_id = 1
user = User.get_by_key_name(user_id)
user_key = user.key().name()
### Get the latest active Book
book = Book.all().filter('is_active =', True).get()
book_key = book.key().name()
### Get latest Book for this User
bookuser_key_name = "%s:%s" % (str(book_key), str(user_key))
bookuser = BookUser.get_or_insert(bookuser_key_name)
bookuser.card = card
bookuser.user = user
bookuser.put()
まず、「iPhone App Guy」にINTを使用するように指示した理由を尋ねる必要があります。 –
用語についての注意:すべてのエンティティにはキーがあります。 idまたはkey_nameはキーの一部です。 – geoffspear