跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. 关于many2many字段domain的写法

关于many2many字段domain的写法

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

    class demo_b1(osv.osv):
        _name="demo.b"
        _columns={
                  'name':fields.char(u'名称',size=40),
                  }
    demo_b1()
    class demo_a(osv.osv):
        _name="demo.a"
        _columns={
                  'name':fields.char(u'名称',size=40),
                  'demo_bs':fields.many2many('demo.b','a_b_relation','a_id','b_id','demo b'),
                  }
    demo_a()
    class demo_b(osv.osv):
        _inherit="demo.b"
        _columns={
                  'demo_as':fields.many2many('demo.a','a_b_relation','b_id','a_id','demo a'),
                  }
    demo_b()
    class demo_c(osv.osv):
        _name="demo.c"
        _columns={
                  'name':fields.char(u'名称',size=40),
                  'a_id':fields.many2one('demo.a','demo_a',required=True),
                  'b_id':fields.many2one('demo.b','demo_b',required=True),
                  }
    demo_c()
    定义demo_c的view,实现效果:选择demo_a后,选择demo_b时只展示与demo_a关联的demo_b
        <record model="ir.ui.view" id="demo_c_form">
                <field name="name">demo c</field>
                <field name="model">demo.c</field>
                <field name="type">form</field>
                <field name="arch" type="xml">
                    <form string="demo c">
                        <field name="a_id" widget="selection"  />
                        <field name="b_id" attrs="{'readonly':[('demo_a','=',False)]}" [color=red]domain="XXX"[/color] />
                     
                    </form>
                </field>
            </record>

    1 条回复 最后回复
    0
    • mrshellyM 离线
      mrshellyM 离线
      mrshelly
      写于 最后由 编辑
      #2

      很棒..... 建议给贴子加上一些 tag 以方便其它人检索到...

      1 条回复 最后回复
      0
      • E 离线
        E 离线
        Eric
        写于 最后由 编辑
        #3

        呵呵,shelly给个解决方案啊

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

          你这样写模块安装的时候就会报错,报第四句找不到demo.b

          GoodERP -- Odoo China fork

          1 条回复 最后回复
          0
          • E 离线
            E 离线
            Eric
            写于 最后由 编辑
            #5

            [quote author=wjfonhand link=topic=2577.msg8586#msg8586 date=1315201289]
            你这样写模块安装的时候就会报错,报第四句找不到demo.b
            [/quote]
            不好意思,没经过实际调试。现在我实际调试了一下,修改了上面的代码。请再过目 🙂

            1 条回复 最后回复
            0
            • mrshellyM 离线
              mrshellyM 离线
              mrshelly
              写于 最后由 编辑
              #6

              [quote author=Eric link=topic=2577.msg8584#msg8584 date=1315185070]
              呵呵,shelly给个解决方案啊
              [/quote]

              你就发段代码. 我一直认为你在分享你的代码... 你要什么解决方案?

              你的问题是什么???

              1 条回复 最后回复
              0
              • E 离线
                E 离线
                Eric
                写于 最后由 编辑
                #7

                [quote author=mrshelly link=topic=2577.msg8597#msg8597 date=1315271327]
                [quote author=Eric link=topic=2577.msg8584#msg8584 date=1315185070]
                呵呵,shelly给个解决方案啊
                [/quote]

                你就发段代码. 我一直认为你在分享你的代码... 你要什么解决方案?

                你的问题是什么???
                [/quote]

                问题是:在实现demo_c的form view时,如何达到这种效果:选择demo_a后,在选择demo_b时,只展示与demo_a关联的demo_b

                1 条回复 最后回复
                0
                • mrshellyM 离线
                  mrshellyM 离线
                  mrshelly
                  写于 最后由 编辑
                  #8

                  [quote author=Eric link=topic=2577.msg8603#msg8603 date=1315312348]
                  [quote author=mrshelly link=topic=2577.msg8597#msg8597 date=1315271327]
                  [quote author=Eric link=topic=2577.msg8584#msg8584 date=1315185070]
                  呵呵,shelly给个解决方案啊
                  [/quote]

                  你就发段代码. 我一直认为你在分享你的代码... 你要什么解决方案?

                  你的问题是什么???
                  [/quote]

                  问题是:在实现demo_c的form view时,如何达到这种效果:选择demo_a后,在选择demo_b时,只展示与demo_a关联的demo_b
                  [/quote]


                  然后呢???

                  你遇到什么问题了?

                  上面的代码有错?
                  你不知 domain 怎么写??
                  你不晓得代码放哪里???
                  你不知道代码用什么办法弄到OE里????
                  你不知道 对象怎么定义?????
                  你不知道.............??????

                  你的问题是什么????

                  """
                  问题是:在实现demo_c的form view时,如何达到这种效果:选择demo_a后,在选择demo_b时,只展示与demo_a关联的demo_b
                  """

                  这似乎只是描述了你的需求. 如果你的问题是"如何达到"...

                  我给你一个最快速的解决方案..

                  花 RMB 600.00 /人/天 找BBS里的 Jeff 给你搞定....

                  1 条回复 最后回复
                  0
                  • E 离线
                    E 离线
                    Eric
                    写于 最后由 编辑
                    #9

                    我的问题就是“不知 domain 怎么写”

                    1 条回复 最后回复
                    0
                    • mrshellyM 离线
                      mrshellyM 离线
                      mrshelly
                      写于 最后由 编辑
                      #10

                                          <field name="a_id" widget="selection"  on_change="xxxxxA"/>
                                          <field name="b_id" attrs="{'readonly':[('a_id','=',False)]}" domain="[]" />


                      在 a_id 的 xxxxxA 事件中, 去设置 b_id 的 domain 为 [('demo_as', 'in', a_id值)]

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

                        直接将你的domain="XXX"替换为:

                        domain=&quot;[(&#039;demo_as&#039;,&#039;in&#039;, a_id)]&quot;
                        

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

                        1 条回复 最后回复
                        0
                        • E 离线
                          E 离线
                          Eric
                          写于 最后由 编辑
                          #12

                          的确好用!这种写法在文档中没找到呢,还是不够熟悉啊

                          1 条回复 最后回复
                          0

                          • 登录

                          • 没有帐号? 注册

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