Google App Engine数据存储模型参考另一类

时间:2010-11-05 15:59:54

标签: python google-app-engine google-cloud-datastore

为了让你能够理解数据模型,我基本上都有城市,每个城市都有类别,然后在每个类别中我都会有列表。这是我到目前为止所拥有的。

from google.appengine.ext import db

class City(db.Model):
    name = db.StringProperty(required=True)
    connections = db.ListProperty()
    categories = db.ListProperty()

所以接下来,我想补充一下:

class Category(db.Model)
    name = db.StringProperty(required=True)

但是,我是否需要指定只有类别应该属于类别或类似的东西?

2 个答案:

答案 0 :(得分:1)

您想在App Engine Patch中查看名为KeyListProperty的自定义属性。这将为您提供您想要的多对多关系。

答案 1 :(得分:0)

您需要从categories中抛出City属性,并在ReferenceProperty课程中使用Category

class Category(db.Model)
    name = db.StringProperty(required=True)
    city = db.ReferenceProperty(City, collection_name = 'categories')

这也会自动为您的categories模型添加City集合。