2009-03-23 7 views
0

J'ai développé un site AppEngine qui utilise la classe Expando pour stocker des informations. Je peux stocker avec succès une propriété dans le serveur de développement. Je vérifie l'information est là avec le développeur (web) console, mais quand je lance le code je les problèmes suivants:
- la fonction hasattr(myobj, attr_name) retourne false
- la fonction getattr(myobj, attr_name) déclenche une exception
- myobj.attr_name jette une exception
- myobj.dynamic_properties() retourne une liste videDisparition Expando dynamic_properties dans le serveur de développement

Tous ces éléments se produisent alors que la console de développement (web) signale la propriété est toujours là.

De même, si je définissais une nouvelle propriété (et la validais dans le magasin de données), l'ancienne propriété disparaissait. Cette classe a été récemment modifiée d'une sous-classe db.Model à une sous-classe Expando. Plus étrangement, une autre sous-classe Expando signale correctement ses propriétés dynamiques.

J'ai réinstallé le serveur de développement (GoogleAppEngineLauncher 1.1.9 sur Mac OS X 10.5.6) et j'ai effacé le magasin de données sans succès. Je suis coincé.

Répondre

0

J'ai compris cela. Apparemment, j'utilisais la méthode superclasse

Model.get('key') 

, au lieu de

db.get('key') 

Duh.

Questions connexes