【问题标题】:reading a field value from another model odoo13从另一个模型odoo13读取字段值
【发布时间】:2020-11-08 11:27:32
【问题描述】:

我在这里尝试做的是创建一个新的字段维度,从 [stock.move] 模型中的字段获取值这种方法不起作用我不知道为什么并且它没有从中得到任何错误python文件是xml文件中xpath标签的唯一错误

这是models.py文件

xx_Custom_Invoice(models.Model):
    _inherit = 'account.move'
    dimension = fields.Char(String="XxX", compute='get_data')

    def get_data(self):
       stock_move = self.env['stock.move']
       for move in self:
          picking = stock_move.picking_id
          if move.id != picking.account_move_ids:
              continue
          for line in move:
              line.update({
                'dimension': line.dimension,
              })  

这里是views.xml

 <record id="xx_account_move_view_inherit" model="ir.ui.view" >
<field name="name">account.move.view.inherit</field>
<field name="model">account.move</field>
<field name="inherit_id" ref="account.view_move_form"/>
<field name="arch" type="xml">
    <xpath expr="/form/sheet/notebook/page/field[@name='invoice_line_ids']/tree/field[@name='product_id']" position="after">
        <field name="dimension"/>
    </xpath>
  </field>
 </record>

【问题讨论】:

    标签: python-3.x xml odoo odoo-13


    【解决方案1】:

    这里有个问题:

           stock_move = self.env['stock.move']
           for move in self:
    

    stock_move 这里是一个空记录集,所以 for 循环中不会发生迭代。 您可能使用search() 来获取您要操作的记录:

           stock_move = self.env['stock.move'].search(<DOMAIN>)
           for move in self:
    

    【讨论】:

    • 我确实写了搜索和它的域,然后 xml 得到一个错误 """ """ not found
    • 该错误与 XML 文件中的 XPath 有关,与您被询问的 get_data() 方法无关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-08
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多