• 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

关于models的字段动态 域值(fields中的domain参数),相关问题。

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
8 帖子 2 发布者 632 浏览
    • 从旧到新
    • 从新到旧
    • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • F 离线
    F 离线
    franciewang
    写于 最后由 编辑
    #1

    下面用一个简单的示例来描述问题所在:
    1、首先【库位】这个档案,有一个 “仓库”的字段(store_id),也即“库位”是要挂“仓库”的。
    2、现在某单据存在“仓库”这个字段(store_id),此单据明细 存在 “库位”的字段(goods_place_id)。
    3、现在要求,在更改单据store_id时, 明细中的 goods_place_id 要受到 store_id 的过滤。
    4、question:如何处理上述类似场景的问题?

    1 条回复 最后回复
    0
  • digitalsatoriD 离线
    digitalsatoriD 离线
    digitalsatori 管理员
    写于 最后由 编辑
    #2

    onchange方法可以return对应字段的domain,比如可以定义对应store_id的onchange方法:

    @api.onchange('store_id')
    def onchange_store(self):
        return {'domain': {'goods_place_id': [('store_id', '=', self.store_id)]}}
    

    不过感觉兄弟在重造轮子啊,Odoo里有完整的库存,库位管理。

    【上海先安科技】(tony AT openerp.cn)

    F 1 条回复 最后回复
    0
  • F 离线
    F 离线
    franciewang
    在 中回复了digitalsatori 最后由 编辑
    #3

    @digitalsatori 这个方法试过,这个是要求在同一个模型里,才会生效。我想要的结果是 用主表(单据)中的字段,过滤从表(单据的细单,主表与从表是一对多关系,主表中从表是一个one2many的字段)中的某个字段。

    1 条回复 最后回复
    0
  • F 离线
    F 离线
    franciewang
    写于 最后由 编辑
    #4

    另外,上面仅仅是一个我能想到的示例。

    1 条回复 最后回复
    0
  • digitalsatoriD 离线
    digitalsatoriD 离线
    digitalsatori 管理员
    写于 最后由 编辑
    #5

    也可以把domain写在view上:

    <field name='goods_place_id' domain="[('store_id', '=', parent.store_id)]"/>
    

    这里的parent就是主表

    【上海先安科技】(tony AT openerp.cn)

    F 1 条回复 最后回复
    0
  • F 离线
    F 离线
    franciewang
    在 中回复了digitalsatori 最后由 编辑
    #6

    @digitalsatori 刚刚试了一下你这种写法会直接报错的... 原因是,在goods_place_id对应的模型里,是不存在 这个“parent”的字段的...

    1 条回复 最后回复
    0
  • digitalsatoriD 离线
    digitalsatoriD 离线
    digitalsatori 管理员
    写于 最后由 编辑
    #7

    应该是你写错了。你可以参看Odoo中sale模块中的相关用法:
    https://github.com/odoo/odoo/blob/232a7283a55cb7efe1750ea038b9244df06031e3/addons/sale/views/sale_views.xml#L469

    【上海先安科技】(tony AT openerp.cn)

    F 1 条回复 最后回复
    0
  • F 离线
    F 离线
    franciewang
    在 中回复了digitalsatori 最后由 编辑
    #8

    @digitalsatori 可以了,万分感谢!!

    1 条回复 最后回复
    0

  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。