Pergunta

Eu anunciei modelos em models.py do 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')

O problema é ReferenceProperty deve ter classe Model, mas classe Topic é não declarado ao declarar Post. O mesmo vai acontecer com Pós classe após switch. Como resolver isso?

Graças.

Foi útil?

Solução

ReferenceProperty aceita Nenhum no lugar de uma classe de modelo, o que significa "nenhum tipo de restrição" nesse campo. Não é uma solução agradável, no entanto.

Veja:

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

Com tais referências cíclicas em seu modelo não é uma boa idéia IMHO. Você deve encontrar o seu last_post sob demanda em vez de armazenar uma referência a ele.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top