如何在我的自定义视图中显示 One2many 字段的视图?

How to display One2many field's view in my custom view?

我的工单有很多评论,我为我的评论创建了一个视图,并在工单模型中创建了一个 One2Many 字段。但它没有显示我想要的视图。这是我的模型

    class Ticket(model.Model):
      _name = 'Tickets'
      comment_ids = fields.One2many('comments', 'comment_id')

这是我的第二个模型

class Comments(models.Model):
_name = 'comments'

comment = fields.Text(string="Comment")
comment_id = fields.Char(string='Comment Id')

这是我的工单视图:

<notebook>
    <page name="body" string="Body">
        <field name="comment_ids" />    
    </page>
</notebook>

这是我评论的表单视图:

<form>
   <div class="form-group">
      <label name="comment">Comment:</label>
      <textarea class="form-control" rows="5" />
   </div>
   <button type="submit" class="btn btn-primary">Submit</button>
</form>

这是我评论的树视图:

<tree>
   <field name = 'comment_id'/>
   <field name = 'comment'/>
</tree>

如果您的评论模型有不止一个树视图或表单视图,如果您不指定 您要显示的视图 Odoo 将计算优先级最高的视图:

所以只需在 one2many 字段中指定 tree viewid

<field name="comment_ids" context="{'tree_view_ref': 'your_app.tree_view_xml_id', 'form_view_ref': 'your_app.form_view_xml_id'}"/>

或者您可以使用嵌入式视图:

<field name="comment_ids">
        <tree>
            <field name = 'comment_id'/>
            <field name = 'comment'/>
        </tree>
        <form>
           <div class="form-group">
              <label name="comment">Comment:</label>
              <textarea class="form-control" rows="5" />
           </div>
           <button type="submit" class="btn btn-primary">Submit</button>
        </form>
    </field>

注意:如果你只有这两个视图,这意味着 Odoo 没有加载这个视图所以检查 XML 文件是否在 manifest 文件并确保你 upgrade 你的模块。