Domanda

Ciao a tutti e professionisti di Couchdb,

Ho una configurazione di mappatura come tale:

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

Ho una funzione chiamata getbyid che prende un documento d'identità e restituisce un prodotto tramite:

return Product.load(db, id)

Ho un problema: quando carico un prodotto particolare e provo a impostare il dizionario restituito come tale:

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

NOTA:Di recente ho modificato il modello per avere il tasto "restituito". I vecchi oggetti di prodotto ottenuti utilizzando Getbyid, non hanno la chiave "restituita" in essi. Questo farebbe la differenza? Non dovrebbe essere giusto, dopo tutto questo è un documento DB e dovrebbe essere flessibile, giusto?

Perché Product.Rourned mi restituisce ancora un dizionario vuoto dopo aver impostato l'attributo "Motivo"?

Ho fatto un po 'di debug e ho capito che la variabile del prodotto è della forma:

<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':.......>

Che tipo di risultato è questo? È un risultato di visualizzazione o è un documento?

Qualsiasi aiuto è molto apprezzato grazie!

Grazie.

Nessuna soluzione corretta

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