Я использую couchdb.mapping в одном из моих проектов.У меня есть класс с именем SupportCase
, полученный из Document
, который содержит все поля, которые я хочу.
Моя база данных (называемая admin
) содержит несколько типов документов.У меня есть поле type
во всех документах, которые я использую, чтобы различать их.У меня есть много документов типа "case"
, которые я хочу получить при использовании представления.У меня есть проектный документ под названием support
с видом внутри него под названием cases
.Если я запрашиваю результаты этого просмотра, используя db.view("support/cases)
, я получаю список Row
с тем, что я хочу.
Однако я хочу каким-то образом обернуть это классом SupportCase
, чтобы я мог вызвать одну функцию и получить список всех SupportCase
в системе.Я создал ViewField
свойство
@ViewField.define('cases')
def all(self, doc):
if doc.get("type","") == "case":
yield doc["_id"], doc
Теперь, если я позвоню SupportCase.all(db)
, я верну все дела.
Я не понимаю, является ли это представление предварительно вычисленным и сохранено в базе данных или выполнено по требованию, аналогично db.query
.Если это последнее, оно будет медленным, и я хочу использовать предварительно вычисленное представление.Как мне это сделать?