Pregunta

Hola a todos y profesionales de Couchdb,

Tengo una configuración de mapeo como tal:

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

Tengo una función llamada GetByid que toma una identificación y devuelve un producto a través de:

return Product.load(db, id)

Tengo un problema: cuando carga un producto en particular e intento establecer el diccionario devuelto como tal:

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

NOTA:Recientemente modifiqué el modelo para tener la clave "devuelta". Los objetos de producto antiguos que se obtienen usando GetByid, no tiene la clave "devuelta" en ellos. ¿Esto haría una diferencia? No debería bien, después de todo, este es un documento DB y debería ser flexible, ¿verdad?

¿Por qué el producto. Readurned todavía me devuelve un diccionario vacío después de establecer el atributo de "razón"?

Hice un poco de depuración y me di cuenta de que la variable del producto es de la 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':.......>

¿Qué tipo de resultado es este? ¿Es un resultado de vista o es un documento?

¡Cualquier ayuda es muy apreciada, gracias!

Gracias.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top