我希望能够在给定数据存储区中模型的关键字的情况下,只需设置referenceproperty而不加载模型本身(因为我不需要这些信息)。
例如:
class Book(db.Model):
author = db.StringProperty()
title = db.StringProperty()
class Review(db.Model):
book = db.ReferenceProperty(Book)
description = db.StringProperty()
假设我已经拥有Book
的密钥(称之为bookKey
),但我自己没有相应的Book
对象,有没有办法做到相当于
review = Review()
review.description = "It was ok, but I would recommend it for insomniacs."
review.book = bookKey
或者我需要
book = Book.get(bookKey) #I don't want this datastore access
#as I don't need the book object.
review = Review()
review.description = "It was ok, but I would recommend it for insomniacs."
review.book = book
我找到了使用ReferenceProperty
从get_value_for_datastore
中提取密钥和ID的方法,但我是在“设置”之后。
答案 0 :(得分:5)
review.book = bookKey
可以正常工作,并在不获取模型的情况下设置referenceproperty。