Как установить ReferenceProperty, используя только ключ, не получая модель - PullRequest
3 голосов
/ 31 марта 2011

Я хочу иметь возможность, учитывая ключ к модели в хранилище данных, просто установить свойство reference, не загружая саму модель (поскольку мне эта информация не нужна).

Например:

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, но япосле "набора".

1 Ответ

5 голосов
/ 31 марта 2011

review.book = bookKey будет работать нормально, и установить свойство ссылки без извлечения модели.

...