В классической реляционной базе данных у меня есть следующая таблица:
CREATE TABLE Person(
Id int IDENTITY(1,1) NOT NULL PRIMARY KEY,
MotherId int NOT NULL REFERENCES Person(Id),
FatherId int NOT NULL REFERENCES Person(Id),
FirstName nvarchar(255))
Я пытаюсь преобразовать эту таблицу в таблицу Google App Engine. Моя проблема с полями MotherId и FatherId. Я попробовал код ниже, но без шансов. Python говорит, что не знает тип объекта Person.
class Person(db.Model):
mother = db.ReferenceProperty(Person)
father = db.ReferenceProperty(Person)
firstName = db.StringProperty()
Кто-нибудь знает, как мы можем смоделировать рекурсивные отношения в таблице Google App Engine? Как я могу обойти ограничения App Engine?
UPDATE
Я хочу немного расширить проблему ... Что если я хочу добавить коллекцию детей?
children = db.SelfReferenceProperty(collection_name='children_set')
dad.children.append(childrenOne)
Я попробовал это, и это не работает. Есть идеи, что я делаю не так?
Спасибо!