Utilisation de Couchdb.Mapping et incapable de définir un attribut
-
29-10-2019 - |
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