您好,我一直致力于使用 Python 开发 OpenERP 模块。我一直在浏览源代码并在理解它时遇到问题。我不明白以下两行 self.browse 以 id,uid 作为参数,然后使用具有功能的工具
for obj in self.browse(cr, uid, ids, context=context):
result[obj.id] = tools.image_get_resized_images(obj.image)
请给我一些关于这方面的知识。谢谢 希望大家提出建议
最佳答案
简单来说,browse
是对数据库表记录启用read
操作的方法。 browse
方法 将记录作为对象获取,允许使用点表示法浏览字段和关系。这使得 OpenERP 编程更接近 OOP。
OpenERP 框架使用 ORM 和 MVC 设计模式在 Python 编程中进行编码。 ORM将使用值包装在Object中,并允许在各种方法中进行CRUD操作方法,即URL 。 read
方法是 browse
方法的替代方法,其中 read 返回 dict 的 Python 列表,browse 返回每个对象在数据库中记录的对象列表。
所以对你的代码的分析是:
此语句 for obj in self.browse(cr, uid, ids, context=context):
可以分为几行。
1. self.browse(cr, uid, ids, context=context) 从 self(object) 获取记录(ids)。
2. for 那就是循环上面的返回。因此,每次循环 iter 时,它都会将记录存储在 obj 中,该记录基本上是数据库记录,并且由于它是记录和对象,因此它将平板电脑列值作为属性包装在侧面,因此您可以使用 obj 获取字段值.field_name
希望这会有所帮助。
关于python - python中使用self.browse进行openerp开发的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19225948/