为了账号安全,请及时绑定邮箱和手机立即绑定

Odoo 选择取决于另一个选择

Odoo 选择取决于另一个选择

紫衣仙女 2022-07-12 16:23:22
我有这样的模型:class MyDict(models.Model):_name='my_module.my_dict'field1=fields.Char()field2=fields.Char()field3=fields.Char()数据看起来像:obj_1 | attr_1 | val_1obj_1 | attr_2 | val_1obj_1 | attr_2 | val_2obj_2 | attr_1 | val_1obj_2 | attr_1 | val_2从另一个模型我想逐步使用这个数据class NewModel(models.Model):_name='my_module.new_model'selection1=field.Selection(selection='_get_selection1')selection2=field.Selection(selection='_get_selection2')selection3=field.Selection(selection='_get_selection3')def _get_selection1(self):    my_list = []    selection_list = []    full_list = self.env['my_module.my_dict'].search([])    for record in full_list:       if record.field1 not in my_list:          my_list.append(record.field1)       for list_item in my_list:          selection_list.append((str(list_item), str(list_item)))    return selection_list第二个选择需要取决于第一个@api.onchange('selection1')def _get_selection2(self):   my_list = []   selection_list = []   full_list = self.env['my_module.my_dict'].search([('field1', '=', self.selection1])   for record in full_list:      if record.field2 not in my_list:         my_list.append(record.field2)   for list_item in my_list:      selection_list.append((str(list_item), str(list_item)))   return selection_list但我在这里发现了错误File "/opt/odoo13/odoo/odoo/models.py", line 5817, in process    if res.get('value'):AttributeError: 'list' object has no attribute 'get'我怎样才能得到 selection_list 取决于第一个选择
查看完整描述

1 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

看起来唯一的方法是为每个字段制作 3 个模型并将其绑定到 parent_id 和 child_ids 字段


class MyDict1(models.Model):

_name='my_module.my_dict1'


name=fields.Char()

child_ids=fields.One2many('my_module.my_dict2', 'parent_id')



class MyDict2(models.Model):

_name='my_module.my_dict2'


name=fields.Char()

parent_id=fields.Many2one('my_module.my_dict1')

child_ids=fields.One2many('my_module.my_dict3', 'parent_id')


查看完整回答
反对 回复 2022-07-12
  • 1 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号