2

我正在使用以下数据模型创建一对多关系。如何制作主键和外键?

class Candidate(db.Model):
    name = db.StringProperty()
    lastname = db.StringProperty()
    email = db.StringProperty()
    mobno = db.StringProperty()
    grad = db.StringProperty()
    pg = db.StringProperty()
    cloc = db.StringProperty()
    ploc = db.StringProperty()

class Skills(db.Model)
    skillcode=db.IntegerProperty()
    skillname=StringProperty()

每个候选人都有很多技能。如何制作主键和外键?

4

1 回答 1

4

应用引擎数据存储不像 mysql 或 sqlite 等关系数据库那样工作。这是一个无模式数据库。每个模型都有一把钥匙。该键可以由 id 和/或键名定义。您可以在实例化模型时将 key_name 作为关键字参数传递,而在大多数情况下,会自动分配 id。

ReferenceProperty可以看作是外键的等价物。该属性可以保存另一个模型实例”作为值,并且使用关键字参数,您可以指定模型必须是的类型。

appengine 上的 python 运行时有两个数据存储模块,一个称为 db ,一个称为ndb。看看ndb,它是较新的api,可以帮助您进行缓存;我还发现它有一个更易于使用的 api。

于 2012-10-01T10:04:43.437 回答