python - OpenERP 中的元编程

标签 python odoo

这是一种开发OpenERP的方法

class stock_incoterms(osv.osv):

_name = "stock.incoterms"
_description = "Incoterms"
_columns = {
    'name': fields.char('Name', size=64, required=True),
    'code': fields.char('Code', size=3, required=True),
    'active': fields.boolean('Active'),
}
_defaults = {
    'active': lambda *a: True,
}

stock_incoterms()
这是典型的 OpenERP 模型并映射到表名 stock_incoterms。
columns 属性定义表的列 默认属性定义每列的默认值。

我的问题是:

How to implement this in Python?
When running stock_incoterms(), OpenERP will read this model, generate the table with these defined columns.
After that, suppose I created a record in this table, then I ask give me the model of this class, ex
stock_incoterm = stock_incoterms.get(1) ( record id in db)
Now i can access
stock_incoterm.name
stock_incoterm.code
........

这种定义模型的方式是一种元编程,但我不知道如何用Python编写它。

有人可以指导我背后的详细信息或一些关于 Python 元编程的好链接吗?

最佳答案

OpenERP developer book是开始寻找的最佳位置。听起来您想添加一个名为 stock_incoterm 的新表。我建议您启动一个新模块并向其中添加表格,以及一个屏幕和一些菜单项来编辑表格。开发者手册有一章介绍 developing modules .

完成所有设置后,访问记录上的字段的代码将如下所示:

class stock_incoterms(osv.osv):
    # ...

    def do_something(self, cr, uid, ids):
        for stock_incoterm in self.browse(cr, uid, ids):
            name = stock_incoterm.name

            # ...

关于python - OpenERP 中的元编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3564884/

相关文章:

python - 如何创建适用于 Linux/Windows(任何版本)的 Odoo 安装程序

javascript - Odoo-12:我创建了一个小部件。我如何使用它?

postgresql - 如何将 postgres 数据库用户角色密码从 'admin' 更改为 'mypassword'?

Python 和 Snowflake 使用 SQL Alchemy 引擎将新数据附加到现有表中返回当前 session 没有当前数据库

python - 神经网络攻击傻瓜盒(FGSM)

python - 检查矩阵中的值是否与数组中的值匹配,如果不匹配则返回矩阵索引

odoo - 在 openerp 中确认一个条件对话框和动态文本

python - 具有多个约束的相关字段上的 Django 查询集

Python 任务线程接收重复参数

javascript - 如何继承pos中的models.js并做一些改动?