python - python中使用self.browse进行openerp开发的目的是什么?

标签 python eclipse odoo

您好,我一直致力于使用 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操作方法,即URLread 方法是 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/

相关文章:

html - 在 Eclipse 的动态 Web 元素中的何处以及如何添加 CSS?

c++ - Linux 共享库 C++

android - 我需要一些帮助来理解 Android 应用程序开发中的异常

python - PYODBC Fetchmany 到 csv 仅输出 header

python - 观察变量何时被删除

python - 如何在特定日期之后删除数据集中的值?

javascript - 在 Odoo ERP 系统上创建自定义字段小部件

python - 通过 html 发布 pandas 数据透视表

python - 当出现[Errno 111]连接被拒绝时如何使用Python代理服务器

mysql - 在 Odoo 中上传 mySQL 或 XML 中的现有数据库