Справочник по модели хранилища данных Google App Engine Другой класс - PullRequest
0 голосов
/ 05 ноября 2010

Чтобы вы могли понять модель данных, у меня в основном есть города, и в каждом из них будут категории, а затем внутри каждой категории будут списки. Вот что у меня есть.

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 ]

1 голос
/ 05 ноября 2010

Вы хотите просмотреть пользовательское свойство с именем KeyListProperty в Патч App Engine . Это даст вам тот тип отношений «многие ко многим», который вам нужен.

0 голосов
/ 05 ноября 2010

Вам нужно выбросить свойство categories из вашего City и использовать ReferenceProperty в вашем Category классе:

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

Это также автоматически добавит коллекцию categories для вашегоCity модель.

...