跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. form里面one2many字段怎么显示更多关联的字段?

form里面one2many字段怎么显示更多关联的字段?

已定时 已固定 已锁定 已移动 Odoo 新手求助
7 帖子 4 发布者 5.3k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • B 离线
    B 离线
    BraidTim
    写于 最后由 编辑
    #1

    0_1495795679103_0561d962-f822-478b-9002-4a8ca5aac792-图片.png
    例如采购模块,新增产品这儿是从purchase.order通过关系one2many到purchase.order.line模块的
    但是在purchase.order的form输入的时候在view那儿怎么写才能增加purchase.order.line的字段,比如数量,单价等?
    我看purchase源文件似乎也没找到什么特殊表达,我试了试还是访问不到字段,请问有没有简单的实现例子?

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

      @BraidTim 在 form里面one2many字段怎么显示更多关联的字段? 中说:

      purchase.order

      xml 文件里面:

                              <field name="order_line">
                                  <tree string="Purchase Order Lines" editable="bottom">
                                      <field name="product_id" context="{'partner_id': parent.partner_id}"/>
                                      <field name="name"/>
                                      <field name="date_planned"/>
                                      <field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
                                      <field name="account_analytic_id" context="{'default_partner_id':parent.partner_id}" groups="purchase.group_analytic_accounting"/>
                                      <field name="product_qty"/>
                                      <field name="qty_received" invisible="not context.get('show_purchase', False)"/>
                                      <field name="qty_invoiced" invisible="not context.get('show_purchase', False)"/>
                                      <field name="product_uom" groups="product.group_uom"/>
                                      <field name="price_unit"/>
                                      <field name="taxes_id" widget="many2many_tags" domain="[('type_tax_use','=','purchase')]" context="{'default_type_tax_use': 'purchase'}"/>
                                      <field name="price_subtotal" widget="monetary"/>
                                  </tree>
      

      -_-

      B 1 条回复 最后回复
      0
      • B 离线
        B 离线
        BraidTim
        在 回复了 Siyuan 最后由 编辑
        #3

        @Siyuan
        这个我也找到位置了,但是没看到那一句写出了关联purchase.order.line这个模块啊
        field name那儿写的是purchase.order模块里面字段吧?下面接tree分析的时候自动就是purchase.order.line的字段吗?我试了试好像还是说找不到字段,应该是还只是在purchase.order模块里面找我写的字段。

        1 条回复 最后回复
        0
        • JoshuaJ 离线
          JoshuaJ 离线
          Joshua 管理员
          写于 最后由 编辑
          #4

          @BraidTim 在 form里面one2many字段怎么显示更多关联的字段? 中说:

          @Siyuan
          这个我也找到位置了,但是没看到那一句写出了关联purchase.order.line这个模块啊
          field name那儿写的是purchase.order模块里面字段吧?下面接tree分析的时候自动就是purchase.order.line的字段吗?我试了试好像还是说找不到字段,应该是还只是在purchase.order模块里面找我写的字段。

          首先要理解字段的定义:

          class PurchaseOrder(models.Model):
              _name = "purchase.order"
          ...
          order_line = fields.One2many('purchase.order.line', 'order_id', string='Order Lines', states={'cancel': [('readonly', True)], 'done': [('readonly', True)]}, copy=True)
          

          这里就是purchase.order的order_line字段,这里就声明了和purchase.order.line的关系。然后在视图里面,order_line字段包含的字段就是purchase.order.line的字段

                                  <field name="order_line">
                                      <tree string="Purchase Order Lines" editable="bottom">
                                            <!--这里面是purchase.order.line的字段-->
                                          <field name="product_id" context="{'partner_id': parent.partner_id}"/>
                                          <field name="price_subtotal" widget="monetary"/>
                                      </tree>
          

          【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

          萧 1 条回复 最后回复
          1
          • 萧 离线
            萧 离线
            萧云飞
            在 回复了 Joshua 最后由 编辑
            #5

            @Joshua 👍

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

              @Joshua 在 form里面one2many字段怎么显示更多关联的字段? 中说:

              string="Purchase Order Lines" editable="bottom"
              谢谢大神解答,我仔细看了,原来之前写的 field XXX/ 直接关闭了标签才出错的
              然后出现了一个奇怪的问题,我xml写的

              <record model="ir.ui.view" id="meeu_v1.action_window_purchase_material">
                <field name="name">meeuV1 purchase material form</field>
                <field name="model">meeu_v1.purchase_material</field>
                <field name="arch" type="xml">
                  <form>
                    <field name="supplier"/>
              	  <field name="purchase_material_list" >
              		<tree>
              			<field name="name"/>				
              		</tree>
              		</field>
                  </form>
                </field>
              </record>
              
              <record model="ir.ui.view" id="meeu_v1.action_window_purchase_material">
                <field name="name">meeuV1 purchase material</field>
                <field name="model">meeu_v1.purchase_material</field>
                <field name="arch" type="xml">
                  <tree>
                    <field name="supplier"/>
              	  <field name="purchase_material_list">
              		<tree>
              			<field name="price"/>				
              		</tree>
              		</field>
                  </tree>
                </field>
              </record>
              

              然后结果
              0_1496226787570_51648f78-362b-4036-ba3c-2815ad6328bd-图片.png
              新建表单不是应该是form吗?怎么写在tree的字段反而出现在新建时候的视图里面?我在新建的时候点击开发者的编辑form视图也显示的
              0_1496228241486_232df405-5966-4377-aa11-107d04503b9c-图片.png
              显示的也是tree
              是不是有什么基础问题我没有注意到?

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

                我看了下你的代码,你一共定义了2个meeu_v1.purchase_material的视图,一个是表单视图,一个是列表视图。但是列表视图里面是不能直接显示o2m对象里面的属性。所以你列表视图应该改为:

                <record model="ir.ui.view" id="meeu_v1.action_window_purchase_material">
                  <field name="name">meeuV1 purchase material</field>
                  <field name="model">meeu_v1.purchase_material</field>
                  <field name="arch" type="xml">
                    <tree>
                      <field name="supplier"/>
                	  <field name="purchase_material_list"/>
                    </tree>
                  </field>
                </record>
                

                【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

                1 条回复 最后回复
                0

                • 登录

                • 没有帐号? 注册

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