Appengine справочный порядок - PullRequest
0 голосов
/ 26 ноября 2009

Я объявил модели в моделях AppEngine.py:

class Post(db.Model):
topic = db.ReferenceProperty(Topic, collection_name='posts', verbose_name=_('Topic'))
(..)

class Topic(db.Model):
(..)
last_post = db.ReferenceProperty(Post, collection_name='last_topic_post')

Проблема в том, что ReferenceProperty должен иметь класс Model, но класс Topic не объявляется при объявлении Post. То же самое произойдет с классом Post после переключения. Как это решить?

Спасибо.

1 Ответ

2 голосов
/ 26 ноября 2009

ReferenceProperty принимает значение None вместо класса модели, что означает «без ограничения типа» в этом поле. Однако это не очень хорошее решение.

См:

http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html#ReferenceProperty

Иметь такие циклические ссылки в вашей модели не очень хорошая идея. Вы должны найти ваш last_post по требованию, а не хранить ссылку на него.

...