面临openERP ORM方法的问题



我在模块开发中遇到了问题,到目前为止,我开发了一个完整的学生,并成功地在网上展示。现在,当我打算使用ORM方法时,我无法理解它是如何工作的,也无法理解id等的来源,就像我想从数据库表STUDENT中获取所有学生一样。

请指导我如何使用带有简单示例的ORM方法,如果有人可以上传带有简单ORM方法示例的模块,那将很有帮助。

查找记录的两种主要ORM方法是搜索和名称搜索(名称搜索只是使用一些预设的搜索参数进行搜索)。

搜索方法只返回ID,然后在浏览中使用这些ID来获取记录,因此一个非常常见的模式是:

student_ids = self.search(cr, uid, [('grade', '=', 'A'), ('enrolled', '=', True), ('gpa', '>=', 4.0), ('course.department', '=', 'Science')] context = context
students = self.browse(cr, uid, student_ids, context = context)

搜索中稍显棘手的部分是搜索参数列表。这些是元组的列表,它们是字段、运算符和值。这里有一个隐含的AND,所以如果你想要OR,你需要使用'|'。注意,它将处理相关的对象,我在示例中使用了course.dedepartment。

搜索方法将返回一个ID列表或一个空列表。请注意,您可以直接将其传递到浏览方法中而不进行测试,因为浏览方法将为列表中的每个id返回一个浏览记录列表,因此如果您传递一个空的id列表,则会返回一个空列表的浏览记录。

看看https://doc.openerp.com/trunk/server/api_models/

最新更新