2009-11-26 14 views
0

J'ai déclaré modèles dans le models.py de AppEngine:ordre de référence 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') 

Le problème est ReferenceProperty doit avoir le modèle de classe, mais la classe est sujet non déclaré lors de la déclaration Post. La même chose se produira avec la classe Post après le changement. Comment résoudre ceci?

Merci.

+0

J'ai aussi ce problème, mais c'est une plus grande boucle de dépendances. Je n'ai pas encore trouvé de solution. – download

Répondre

2

ReferenceProperty accepte None à la place d'une classe de modèle, ce qui signifie "aucune restriction de type" sur ce champ. Ce n'est pas une bonne solution, cependant.

Voir:

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

Avec de telles références cycliques dans votre modèle n'est pas une bonne idée à mon humble avis. Vous devriez trouver votre last_post sur demande au lieu de stocker une référence à celui-ci.