OpenERP中相关字段的用途是什么?
有人能给我解释一下关于相关字段的事情吗?比如说:
- 它是怎么使用的
- 它能带来什么帮助
- 在什么情况下我应该使用fields.related
如果有人能提供一个关于fields.related实际使用的小例子,我会非常感激。
4 个回答
1
你可以在OpenERP的开发者文档中找到一个例子。在数据库规范化中,这个概念叫做传递依赖。
8
在使用相关字段的时候,首先要选择哪个字段要关联。例如,我正在创建一个新的模块来添加学生的详细信息。在这里,学生实际上是指合作伙伴。所以我们用 _rec_name='partner_id'
来表示。在 res.partner
中,你可能见过 ref
字段。这个 ref
字段里的值会被用作学生模块的 internal_number
。
所以我们在这里做的事情是
class student(osv.osv):
_name='student'
_rec_name='partner_id'
_columns ={
'partner_id':fields.many2one('res.partner','Name'),
'internal_number':fields.related(
'partner_id',
'ref',
type='char',
size=16,
string='Internal Number',
),
}
如果我们想显示的相关字段是一个选择字段,那么你需要提供 type='selection'
,并且 selection=[(case1,case1),(case2,case2),...]
,这是一系列的元组。如果它是一个多对一字段,那么就用 type='many2one'
和 relation='model_name'
。
9
这个功能让你可以从一个相关的表格中提取某个字段。想了解更多细节,可以查看开发者手册,其中一个例子是sale_order_line
类中的order_partner_id
字段。在5.14版本中,这个字段在addons/sale/sale.py
的第806行。
我经常发现我想在一个列表中显示某个字段,但这个字段其实是在父记录上,而不是我正在列出的实际表格里。