Вопрос

Я объявил модели в файле models.py AppEngine:

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 после переключения.Как это решить?

Спасибо.

Это было полезно?

Решение

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

Видеть:

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top