【问题标题】:what does self .write mean in thus code?这段代码中的 self .write 是什么意思?
【发布时间】:2013-10-10 23:50:49
【问题描述】:

我一直致力于在 Ubuntu 12.04 中开发 OpenERP 模块。我一直在寻找互联网,因为我是这种开发的新手。我想知道self.write在Python语言下的OpenERP开发中是什么意思。如果我能在下面的代码行中得到一些理解的话,我会很高兴:

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

请帮忙,尽快回复。 问候 (阿萨兰)

【问题讨论】:

标签: python eclipse openerp


【解决方案1】:

self 是对当前实例的引用。所以self.write 是对当前实例类的write 方法的引用。大概这个类是一个类似文件的对象。如果不知道您正在处理什么样的课程,很难说更多。

【讨论】:

    【解决方案2】:

    self.write() 是OpenERP中定义的ORM(Object Relational Mapping)方法。 在 OpenERP 的结构中,会有类(对象)具有字典 _columns = {}。通过ORM的机制,在Database中会创建一个与class同名的新表。在 _columns = {} 字典中,我们给出了一些字段。这些字段是创建的表的列。 比如下面的代码

    类 hr_job(osv.osv):

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

    将在数据库中创建一个名为 hr_job 的表和该表的一个字段“名称”。 如果您在此类中编写“self.write()”方法,它将写入/修改表 hr_job 中特定字段的值。 在您的情况下,它将更改它所属的表(类)的图像字段的值。希望这会对你有所帮助。

    【讨论】:

    • 好。但我对这个函数中的参数有点困惑。像 cr , uid , id 。他们在这里做什么
    • 所有 ORM 方法都有一些参数,以便它们可以与 db 通信。 cr 是用于连接 db 的数据库游标对象。 uid 是当前登录用户的 id。[id] 或 [ids] 是我们要对其执行数据库操作的 id 或 id 的列表。
    • 但是 id 、 cr 等的实现呢
    • 嘿,你能不能让我理解带有这些参数的代码。我将非常感谢
    猜你喜欢
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    • 2018-01-23
    相关资源
    最近更新 更多