这是一种开发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/