Question

Salut tout le monde et les pros de Couchdb,

J'ai une configuration de mappage comme tel:

class Product(BaseModel):
  name= mapping.TextField()
  returned = mapping.DictField(mapping.Mapping.build(
    reason = mapping.TextField(),
    put_back = mapping.BooleanField()
  ))

J'ai une fonction appelée GetbyId qui prend un ID et renvoie un produit via:

return Product.load(db, id)

J'ai un problème: lorsque je charge un produit particulier et j'essaie de définir le dictionnaire retourné comme tel:

product = Product.getById("123")
product.returned
>>> {}
product.returned['reason'] = "Test"
product.returned
>>> {}

REMARQUE:Je n'ai modifié que récemment le modèle pour avoir la clé "retournée". Les anciens objets de produit obtenus à l'aide de GetById, n'ont pas la clé "retournée". Cela ferait-il une différence? Cela ne devrait pas correctement, après tout, c'est un document DB et il devrait être flexible, non?

Pourquoi Product.rapted me renvoie-t-il toujours un dictionnaire vide après avoir établi l'attribut "Raison"?

J'ai fait du débogage et j'ai réalisé que la variable de produit est du formulaire:

<Product u'f90173026e859c65cfa08496115bf7bf'@u'11-3ea1135ceb6361631cbb08471d15df1e' {u'name': u'Printer', u'subProducts': [], u'company': {u'id': u'HP', u'name': u'Hewlett-Packard'}, u'productType':.......>

Quel genre de résultat est-ce? Est-ce un résultat de vue ou est-ce un document?

Toute aide est grandement appréciée!

Merci.

Pas de solution correcte

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