我定制了一个订阅模块
在订阅.py在
from openerp.osv import fields, osv
class subscriptions(osv.osv):
_name = "subscriptions.sub"
_description = "subscriptions"
_columns = {
'sub_id': fields.integer('Subscription ID', size=10),
'cust_id': fields.many2one('res.partner','customer_id', 'Customer ID')
}
在伙伴.py在
^{pr2}$从客户模块创建订阅时,它也会显示在订阅模块中,但在订阅模块中创建订阅时,它不会显示在客户模块中。在
我能在正确的方向得到帮助吗?在
你的问题是如何理解传递给多个11个和1个2个多个字段的参数。在
对很多人来说
在documentation中,当前声明如下:
因此,
fields.Many2one
的第二个参数是该字段在接口中的名称。在旧API中,我们可以看到(in openerp/osv/fields.py)第三个参数是auto_join
标志:因此,在给定的示例中,您应该删除第二个参数,并且在指定manyOne时只有两个参数。在
一个2个月
对于One2many,文档说明:
所以在本例中,您是对的,需要第二个参数,但是您选择的(
sub_id
)是错误的。对于inverse_name
,您必须在comodel_name
上选择一个Many2one
字段,该字段将指向带有One2many
的模型。因此在您的实例中,inverse_name
应该是cust_id
。在结论
要建立从模型的
^{pr2}$Many2one
字段到另一个模型的One2many
字段的关系,One2many
字段的inverse_name
必须是该字段的技术名称,例如:当您的代码不遵循这一点时,这两个字段之间就不会建立链接,并且您将为每个模型字段设置独立的值。在
相关问题 更多 >
编程相关推荐