在openeducat模型中点击一个菜单项后我想加载时间表记录,按状态过滤,其中state等于推迟。 - 使用xml或python代码。 &安培;这是我的xml视图。
<menuitem id="menu_op_timetable"
parent="menu_op_timetable_main"
name="View Time Table"
sequence="20"
action="act_open_op_timetable_view" />
<record id="view_op_timetable_form" model="ir.ui.view">
<field name="name">op.timetable.form</field>
<field name="model">op.timetable</field>
<field name="priority" eval="8" />
<field name="arch" type="xml">
<form string="Time Table" version="7.0">
<header>
<button name="action_complete" string="Complete" type="workflow" icon="gtk-apply" states="planned,postponed"/>
<button name="action_postponed" string="Postponed" type="workflow" icon="gtk-jump-to" states="planned,postponed"/>
<button name="action_cancel" string="Cancel" type="workflow" icon="gtk-cancel" states="planned,postponed"/>
<!--class="oe_button oe_form_button oe_highlight oe_form_visible" -->
<field name="state" widget="statusbar" readonly="True" statusbar_colors='{"r":"red"}'
statusbar_visible="planned,postponed,completed,cancelled"/>
</header>
<sheet>
<separator colspan="4" string="Time Table" />
<group colspan="4" col="4">
<field name="faculty_id" />
<field name="standard_id" />
<field name="division_id" />
<field name="period_id" />
<field name="subject_id" />
<field name="classroom_id" />
<field name="start_datetime" />
<field name="end_datetime" />
<field name="type"/>
</group>
</sheet>
</form>
</field>
</record>
答案 0 :(得分:2)
首先需要在对象op.timetable
的搜索视图过滤器中添加过滤器,如
<filter string="Postponed" name="state_postponed" domain="[('state','=','postponed')]" icon="terp-document-new"/>
操作ID为act_open_op_timetable_view
,并编辑并添加默认过滤器,如
<field name="context">{'search_default_state_postponed': 1}</field>
希望这能解决您的问题。
修改强>
如果您想限制其他状态记录而不是我们需要在域中使用。
操作ID为act_open_op_timetable_view
,并在域名下面进行编辑,如
<field name="domain">[('state','=','postponed')]</field>
<field name="context">{}</field>