Odoo中文网|Odoo实施培训

标题: odoo 8中many2many字段使用中遇到的问题 [打印本页]

作者: 店小2    时间: 2016-10-27 23:23
标题: odoo 8中many2many字段使用中遇到的问题
1.最近一次使用many2many 重新定义中间表的时候出现bug
  在一个py里面定义中间表(中间表需要添加字段用在界面上显示)
然后在在另一张表上定义many2many]字段,这个字段对应的中间表  代码如下:

class shop_product_rel(osv.osv):
    _name = 'shop.product.rel'

    _columns = {
        'product_tmpl_id': fields.many2one('product.template', string=u'产品', required=True),
        'shop_id': fields.many2one('shop', string='商城', required=True),
        'display_name': fields.char(u'产品名字'),
    }


class product_template(osv.osv):
    _inherit = 'product.template'
    _columns = {
        'shop_ids': fields.many2many('shop', "shop_product_rel", 'product_tmpl_id', 'shop_id', string='上架商城'),
    }
单独看每部分都没有问题
然而在显示中间表的时候却 报 错了 说是中间表 shop_product_rel .id不存在

在翻看数据库中发现这个表的id字段确实是没有的 . 不过中间表中其他又odoo自动生成的字段却是存在的
(create_date write_date等 唯独没有id )
另外 中间表的 两个关联字段 的string的内容却是 也 为空了( 推测是定义 many2many字段时 覆盖了原中间表的数据 并把id字段删除 )
但是调整 many2many字段的定义 和中间表的定义却是没有效果.

2会这么使用是因为以前成功过,
  uses 表定义了一个many2many的字段 ,这个字段指向的也是user表 这个时候定义中间表却没有出现这个问题
( 不知道是不是many2many'关联的表的不同引起的这个问题)
百思不得其解,有待进一步探究

最后想了个暂时解决这个问题的办法, 先定义中间表 重启 升级 然后定义many2many字段 然重启升级
比较麻烦,暂时解决问题.







欢迎光临 Odoo中文网|Odoo实施培训 (http://www.chinaodoo.net/) Powered by Discuz! X3.2