Привет всем и профессионалам couchdb,
У меня есть такая настройка сопоставления:
class Product(BaseModel):
name= mapping.TextField()
returned = mapping.DictField(mapping.Mapping.build(
reason = mapping.TextField(),
put_back = mapping.BooleanField()
))
У меня есть функция getById, которая принимает идентификатор и возвращает продукт через:
return Product.load(db, id)
У меня проблема: Когда я загружаю определенный продукт и пытаюсь установить возвращаемый словарь, например, так:
product = Product.getById("123")
product.returned
>>> {}
product.returned['reason'] = "Test"
product.returned
>>> {}
ПРИМЕЧАНИЕ: Я только недавно изменилмодель, чтобы иметь «возвращенный» ключ.Старые объекты продукта, полученные с использованием getById, не имеют ключа «возвращено».Будет ли это иметь значение?Это не должно быть правильно, ведь это документ БД и он должен быть гибким, верно?
Почему product.returned по-прежнему возвращает мне пустой словарь после установки атрибута "reason"?
Я выполнил некоторую отладку и понял, что переменная продукта имеет вид:
<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':.......>
Что это за результат?Это результат просмотра или документ?
Спасибо за любую помощь, спасибо!
Спасибо.