odoo-8
Каковы методы и детали ОРМ?
Поиск…
замечания
Создать метод: создать новую запись с указанным значением. Принимает несколько значений полей и возвращает набор записей, содержащий созданную запись
def create(self,vals):
return super(class_name, self).create(vals)
Метод записи : обновлять записи с заданными идентификаторами с заданными значениями поля. Принимает ряд значений полей, записывает их во все записи в своем наборе записей. Не возвращает ничего
def write(self,vals):
return super(class_name, self).write(vals)
Метод поиска: поиск записей на основе домена поиска. Получает домен поиска, возвращает набор записей совпадающих записей. Может возвращать подмножество совпадающих записей (смещение и предельные параметры) и быть упорядоченным (параметр порядка)
self.search([('customer','=',True)])
self.env['res.partner'].search(['partner','=',True])
Метод поиска : выборка записей в виде объектов, позволяющих использовать точечную нотацию для просмотра полей и отношений. Получает идентификатор базы данных или список идентификаторов и возвращает набор записей, полезный, когда идентификаторы записи получаются из внешнего Оду (например, в обратном направлении через внешнюю систему) или при вызове методов в старом API.
self.browse([7,8,9])
self.env['res.partner'].browse([7,8,9])
Существует методы: возвращает новый набор записей, содержащий только записи, которые существуют в базе данных. Может использоваться для проверки того, существует ли запись (например, полученная извне).
records = records.exists()
Метод ref: метод среды, возвращающий запись, соответствующую предоставленному внешнему идентификатору
self.env.ref('base.group_public')
make_one: проверяет, что набор записей является одиночным (только содержит одну запись), вызывает ошибку, иначе
records.ensure_one()
Различные типы методов ORM
- Создайте()
- записывать()
- поиск()
- просматривать()
- существует()
- исх ()
- ensure_one ()