Odoo中文网|Odoo实施培训

 找回密码
 立即注册
搜索
热搜: Odoo OpenERP 实施
查看: 6478|回复: 0

odoo 8中many2many字段使用中遇到的问题

[复制链接]

119

主题

119

帖子

566

积分

高级会员

Rank: 4

积分
566
发表于 2016-10-27 23:23:01 | 显示全部楼层 |阅读模式
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字段 然重启升级
比较麻烦,暂时解决问题.


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|技术支持|开发手册|Odoo中文网-远鼎旗下odoo培训网站 ( 苏ICP备15039516号 )

GMT+8, 2024-4-17 04:18 , Processed in 0.011004 second(s), 10 queries , Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表