Что касается этих двух вопросов (см. Ссылки ниже) и документа Google AppEngine, я немного запутался:

class Author(db.Model):
    name = db.StringProperty()

class Story(db.Model):
    author = db.ReferenceProperty(Author)

story = db.get(story_key)
author_name = story.author.name

Источник: Google

Пример документа указывает, что объект, имеющий ReferenceProperty, является объектом «владелец», который (может иметь) имеет такой объект, как реляционный элемент.

Ссылки ниже показывают это наоборот: Объект, имеющий ReferenceProperty, является «принадлежащим» объектом. Теперь мой вопрос: что правильно или какой аспект ReferenceProperty я упускаю / неправильно понимаю?

0
Julius F 22 Июн 2010 в 16:56

2 ответа

Лучший ответ

Понятие владения здесь чисто семантическое, поля ReferenceProperty используются только для удобства навигации.

1
Claude Vedovini 22 Июн 2010 в 13:09

Ссылки подразумевают только референцию - «имеет» отношение, если хотите, а не владение. В вашем примере у истории "есть" Автор. Другой способ думать об этом - это то же самое, как если бы вы использовали переменную для ссылки на объект в объектно-ориентированном пространстве.

1
Nick Johnson 22 Июн 2010 в 13:22