【发布时间】:2009-06-02 05:38:04
【问题描述】:
在一个经典的关系数据库中,我有下表:
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 的限制?
更新 我想把问题扩大一点……如果我想添加一个孩子的集合怎么办?
children = db.SelfReferenceProperty(collection_name='children_set')
dad.children.append(childrenOne)
我试过了,但它不起作用。知道我做错了什么吗?
谢谢!
【问题讨论】:
标签: python database-design google-app-engine bigtable