如何将多个模型添加到一个视图?

Posted

技术标签:

【中文标题】如何将多个模型添加到一个视图?【英文标题】:How do I add multiple models to one view? 【发布时间】:2017-03-02 21:49:19 【问题描述】:

我试图在一个视图中使用三种不同的模型。我创建了一个新模型,它继承了似乎工作正常的模型。

from openerp import models, fields, api

class ProjectNote(models.Model):
    _name = "triangle.project.note"
    _inherit = ["note.note", "project.project", "triangle.note"]

我的问题在于视图。我使用我的新模型作为模型并从项目中继承一个视图。

<record id="view_project_notes_form" model="ir.ui.view">
      <field name="name">triangle.project.note.form</field>
      <field name="model">triangle.project.note</field>
      <field name="inherit_id" ref="project.edit_project"/>
      <field name="arch" type="xml">
        <data>
          <xpath expr="//field[@name='privacy_visibility']" position="replace">
            <h2>
              <field name="title" placeholder="Title"/>
            </h2>
          </xpath>
        </data>
      </field>
    </record>

我没有收到任何错误,但我的字段没有被添加。

感谢任何帮助!

【问题讨论】:

【参考方案1】:

如果您尝试打开 project.project 视图并想知道为什么其中没有字段 title:不可能。您没有为模型 project.project 扩展项目视图,而是为您的模型 triangle.project.note 定义一个表单视图,它继承了项目视图。

所以项目视图没有受到影响,您刚刚为新模型创建了第一个表单视图。

【讨论】:

好的,这对我来说很有意义。如果此方法不起作用,是否对如何在 project.edit_project 视图中引用 note.note 字段有任何建议?我能想到的唯一解决方案是也在 project.project 中创建这些字段。 是的,这就是解决方案。扩展 project.projectmany2one 关系到 note.note 并正常继承模型 project.project 的视图。

以上是关于如何将多个模型添加到一个视图?的主要内容,如果未能解决你的问题,请参考以下文章

使用 QAbstractTableModel(模型/视图)时如何将“选择一个...”添加到 QComboBox?

如何将多个视图添加到 UIScrollView

如何从列表视图按钮单击将多个数据添加到数组列表?

在drupal 7中,由于多个附件,将表单添加到视图会产生多个相同的表单,如何只保留一个?

如何将多个小部件同时添加到滚动视图?

是否可以将多个模型对象发送到 ASP.NET MVC 视图?