关注各种黑科技
B站UP主,编程教学,游戏玩家,挂B,金牛座

Odoo中多对多 form widget

odoo中自带一些widget用来改变field的显示效果,这里先来看看many2many字段相关的。

many2many widget ( 默认)

默认情况下(不写widget=“xxx”)m2m字段使用列表视图显示关联的数据 many2many widget 参数
  • no_create -  移除 创建按钮
?
<field name="field_name" options="{'no_create': True}"/>

many2many_tags widget

标签样式选择器 many2many_tags widget 参数
  • no_quick_create - 移除 Create and edit... 选项.
  • no_create_edit - 移除 Create "xxx"  选项.many2many_tags widget
  • no_create -  上面2个参数的合体( no_quick_create no_create_edit )
?
<field name="field_name"
    widget="many2many_tags"
    options="{'no_create_edit': True}"/>

many2many_checkboxes widget

根据odoo源代码里的注释
This type of field display a list of checkboxes. It works only with m2ms. This field will display one checkbox for each record existing in the model targeted by the relation, according to the given domain if one is specified. Checked records will be added to the relation. 大概的意思是,用很多checkbox显示相关的数据,可以用domain过滤,选中的项,会添加到相关的记录中。
只能用来勾选相关数据,不能创建或编辑 many2many_tags widget ?
<field name="field_name" widget="many2many_checkboxes"/>

many2many_kanban widget

The many2many_kanban widget uses a Kanban View to display a list of related objects. 使用kanban视图显示相关的数据对象 可以用不同的kanban view来改变显示的效果 many2many_kanban widget ?
<field name="field_name" widget="many2many_kanban">
    <kanban>
        <field name="name"/>
        <templates>
            <t t-name="kanban-box">
                <field name="name"/>
            </t>
        </templates>
    </kanban>
</field>

x2many_counter widget

显示关联数据的数量,点击后跳转到相关的关联数据视图,跳转视图可以用views选择指定。 此widget可以用于 one2many 字段. x2many_counter widget Options
  • views - 根据odoo源代码里的注释
    The views to display in the act_window action. Must be a list of tuple whose first element is the id of the view to display (or False to take the default one) and the second element is the type of the view. Defaults to [[false, "tree"], [false, "form"]]. 大概的意思是,使用 一个views列表表示你要显示的视图,列表中的每一项也是一个列表。第一个参数view得id,第二个参数是view的类型(tree  form kanban等)。因为一个model同种view可以有多个,如果第一个参数是某个view的id就用那个view,如果是false,则用这个类型优先级最高的那个view。 ?
<field name="field_name" widget="x2many_counter" string="things"/>

many2many_binary widget

根据odoo源代码里的注释
Widget for (many2many field) to upload one or more file in same time and display in list. The user can delete his files. 文件上传组件,支持单个或多个文件上传,显示列表,用户可以删除。
这个组件只能在m2m关联ir.attachment模型的时候使用 many2many_binary kanban ?
<field name="field_name" widget="many2many_binary" string="Attach a file"/>
参考 http://ludwiktrammer.github.io/odoo/form-widgets-many2many-fields-options-odoo.html#many2manytags-widget
转载请注明出处
分享到: 更多 (0)

评论 0