获取或创建匹配的密钥和用户(Python应用引擎)

2024-06-16 13:36:04 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试在googleappengine上使用Python中的“get_or_insert”匹配记录和用户。在

使用下面的模型,我想检查一个用户是否有一个已经创建的图书的记录(在BookUser中列出),如果他们在BookUser中有一个记录,请获取它的详细信息。如果他们没有用XX数据创建它并将其与图书和用户关联。在

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)

我还在琢磨应用引擎,钥匙之类的东西。 任何帮助都很好,谢谢。在

d


Tags: 用户imagetruedefaultdbmodelis记录
1条回答
网友
1楼 · 发布于 2024-06-16 13:36:04

您可以将BookUser实体的键设置为用户和Book键的组合,这将为您提供一种非常简单的方法来使关系唯一。在

bookuser_key_name = "%s:%s" % (str(book_key.id_or_name()), str(user_key.id_or_name()))
bookuser = BookUser.get_or_insert(bookuser_key_name)
# set your values...
bookuser.put()

相关问题 更多 >