2013-10-04 64 views
-1

我一直致力於在Ubuntu 12.04上開發OpenERP模塊。我一直在關注互聯網,因爲我是這類開發中的新手。我想知道在Python語言下OpenERP開發中self.write是什麼意思。我會很高興,如果我能得到一些理解的話,在下面的代碼行:自我.write在這樣的代碼中意味着什麼?

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

請幫忙,儘快回覆。 Registers (arsalan)

+0

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

回答

2

self是對當前實例的引用。所以self.write是對當前實例類的write方法的引用。據推測,該課程是一個文件類對象。如果不知道你正在處理的是什麼課程,很難多說。

3

self.write()是OpenERP中定義的ORM(對象關係映射)方法。 在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。他們是否在這裏做 –

+0

所有的ORM方法都有一些參數,以便它們可以與db進行通信。 cr是用於連接數據庫的數據庫遊標對象。 uid是當前登錄用戶的ID。[id]或[ids]是我們要執行數據庫操作的id或id的列表。 – Dharmraj

+0

但是如何執行id,cr等 –

相關問題