Можно ли создавать ссылки в Google App Engine? - PullRequest
3 голосов
/ 28 июня 2010

Допустим, у меня есть хранилище данных, которое содержит объекты матери, отца и ребенка. Внутри объектов «Мать» и «Отец» у меня есть поле «ребенок», в котором хранится ссылка на их ребенка. Можно ли ссылаться на этого ребенка как от матери, так и от отца, не создавая дубликаты экземпляров для каждого (в стиле ООП) Так работают базы данных?

1 Ответ

5 голосов
/ 28 июня 2010

Да, вы можете использовать db.ReferenceProperty , чтобы сделать именно это.

Ссылочное свойство просто хранит уникальный ключ сущности, на которую оно ссылается.Таким образом, каждая из сущностей матери и отца может содержать копию ключа, соответствующего их ребенку, например:

class Child(db.Model):
    ... # child properties
class Father(db.Model):
    child = db.ReferenceProperty(Child)
    ...
class Mother(db.Model):
    child = db.ReferenceProperty(Child)
    ...
...