Domanda

Ho dichiarato i modelli in models.py di 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')

Il problema è ReferenceProperty deve avere la classe Model ma la classe Topic non è dichiarata quando si dichiara Post. Lo stesso accadrà con la classe Post dopo il passaggio. Come risolverlo?

Grazie.

È stato utile?

Soluzione

ReferenceProperty accetta None al posto di una classe di modello, il che significa "nessuna restrizione di tipo" su quel campo. Non è una buona soluzione, comunque.

See:

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

Avere tali riferimenti ciclici nel tuo modello non è una buona idea IMHO. Dovresti trovare il tuo last_post su richiesta invece di memorizzarne un riferimento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top