这里有一个开发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 属性定义表的列 default 属性定义每列的默认值。
我的问题是:
如何在 Python 中实现这一点?
当运行 stock_incoterms() 时,OpenERP 将读取这个模型,生成带有这些定义列的表。
之后,假设我在这个表中创建了一条记录,然后我要求给我这个类的模型,例如
stock_incoterm = stock_incoterms.get(1) (record id in db)
现在我可以访问
stock_incoterm.name
stock_incoterm.code
.. ……
这种定义模型的方式是一种元编程,但我不知道如何用 Python 编写它。
谁能指导我背后的细节或一些关于 Python 元编程的好链接?