2013-10-04 2 views
-1

Я работаю над разработкой модуля OpenERP в Ubuntu 12.04.Я просматриваю Интернет, поскольку я новичок в этом типе развития. Я хотел знать, что означает self.write в разработке OpenERP под языком Python. Я буду очень рад, если я могу получить некоторое понимание слов на следующую строку кода:что такое self .write mean в этом коде?

self.write(cr, uid, [id], {'image': tools.image_resize_image_big(value)}, context=context) 

Пожалуйста, помогите, ответьте как можно скорее. С уважением (arsalan)

+0

http://docs.python.org/2/tutorial/classes.html –

ответ

2

self - ссылка на текущий экземпляр. Таким образом, self.write является ссылкой на метод write класса текущего экземпляра. Предположительно класс является файлоподобным объектом. Трудно сказать больше, не зная, с каким классом вы имеете дело.

3

self.write() Является ORM (Object Relational Mapping) методом, определенным в OpenERP. В структуре OpenERP будет существовать класс (объекты) со словарем _columns = {}. С механизмом ORM в базе данных будет создана новая таблица с тем же именем, что и класс. В словаре _columns = {} мы приводим несколько полей. Эти поля являются столбцами созданных таблиц. Для примера, приведенный ниже код

класса hr_job (osv.osv):

_columns = { 
     'name': fields.char('Job Name', size=128, required=True, select=True), 
     } 

создаст таблицу с именем hr_job в базу данных и поле этой таблицы «имя». Если вы пишете метод self.write() в этом классе, он будет писать/изменять значение для конкретного поля в таблице hr_job. В этом случае оно изменит значение для поля изображения таблицы (класса), из которой оно принадлежит. Надеюсь, что это поможет вам.

+0

Хорошо. Но меня немного путают с параметрами, которые находятся в этой функции. как cr, uid, id. waht они делают здесь –

+0

Все методы ORM имеют некоторые параметры, чтобы они могли связываться с db. cr - объект курсора базы данных, используемый для соединения с db. uid - это идентификатор пользователя, который вошел в систему. [id] или [ids] - это список идентификаторов или идентификаторов, по которым мы хотим выполнить операции db. – Dharmraj

+0

, но как насчет реализации id, cr и т. Д. –

Смежные вопросы