Question

J'ai déclaré des modèles dans les modèles d'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')

Le problème est ReferenceProperty doit avoir la classe Model, mais la classe Topic n'est pas déclarée lors de la déclaration de Post. La même chose se passera avec Post class après switch. Comment résoudre ce problème?

Merci.

Était-ce utile?

La solution

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

Voir:

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

Avoir 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 à la demande au lieu de stocker une référence.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top