面对openERP ORM方法的问题

时间:2014-04-18 15:36:50

标签: openerp openerp-7 openerp-8

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

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

1 个答案:

答案 0 :(得分:1)

查找记录的两个主要ORM方法是搜索和name_search(name_search只是搜索一些预设的搜索参数)。

搜索方法只返回您在浏览中使用的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,所以你需要使用' |'如果你想要ORs。请注意,它将处理相关对象,我在示例中使用了course.department。

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

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