Hiya,之前我问过一个关于使用完美回答的密钥的问题。使用Python的Google App Engine上的密钥或ID
但是,现在我想知道如果为我的模型创建和使用密钥是要走的路,我的iPhone应用程序人员告诉我们需要将INT存储在数据库中。我的Python代码与Keys一起工作,现在可能不得不回溯。
我很希望听到您对整个创建关键名称的意见,以及我的iPhone应用程序可以使用的自动生成ID,而无需任何重大更改。
这里是我的模型:
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”为什么他告诉你使用INTs。 – 2011-01-28 05:27:13