如何在我的自定义视图中显示 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 view
的 id
<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
你的模块。
我的工单有很多评论,我为我的评论创建了一个视图,并在工单模型中创建了一个 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 view
的 id
<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
你的模块。