我是openerp框架的初学者 我想知道如何使用write()和create()方法,它的目的是什么?我已经阅读了openerp中的文档,但我仍然没有得到它。
答案 0 :(得分:7)
创建(cr,uid,values,context = None)
创建新记录。每次单击“新建”按钮时都会调用此方法,并通过“保存”按钮保存。
参数cr
和uid
是众所周知的 - 数据库游标对象和执行操作的用户的ID。
values
是一个字典,包含要存储在新记录中的值。字典元素的格式为{'field_name': 'field_value',}
。
假设您的Student(osv.osv)
模型包含name
,fac_id
和fac_no
字段。您可以使用Student
类内的以下调用创建新学生的记录:
new_student_id = self.create(cr, uid, {'name': 'Joe Doe',
'fac_id': 15,
'fac_no': '161832'})
写(cr,uid,ids,values,context = None)
与create()
类似,但更新现有记录。要更新的记录由ids
参数定义。如果您想使用ID 166和299更新学生的fac_id
字段,可以通过以下方式进行更新:
self.write(cr, uid, [166, 299], {'fac_id': 21})
答案 1 :(得分:1)
创建强> 当用户在OpenERP中为特定模型保存记录时,ORM会调用create方法。
<强>写:强> 一旦创建了记录,然后如果用户修改了&amp;保存记录调用write方法的时间。
这是create和write方法的基本区别。
下载OpenERP Developer Memento,它会对您有所帮助!