View 如何在odoo中过滤日期?

View 如何在odoo中过滤日期?,view,openerp,odoo,View,Openerp,Odoo,我想按日期筛选一些字段,这是搜索视图,效果很好: <record model="ir.ui.view" id="moulin_view_search"> <field name="name">test.base.graph.view26</field> <field name="model">test.base</field> <field name="arc

我想按日期筛选一些字段,这是搜索视图,效果很好:

<record model="ir.ui.view" id="moulin_view_search">
            <field name="name">test.base.graph.view26</field>
            <field name="model">test.base</field>
            <field name="arch" type="xml">
                <search string="My Dashboard">
                    <field name="create_date" />
                    <filter name="filter_see_all" string="All" domain="['',('create_date','>','2015-05-29 12:12:12.120')]" context="{'group_by':'create_date:minute'}"/>    
                </search>
            </field>
        </record>

test.base.graph.view26
测试基
但是我需要让用户选择日期,而不直接在代码中传递它

例如,我想让用户选择此日历的日期:


供您参考打开

会计->报告->法律报告->会计报告->总账

在这里,您可以看到过滤数据而不是直接将数据传递给代码的不同选项

为此,您需要创建向导,在该向导中,您需要获取用于过滤的字段和按钮,以将过滤条件传递给相关模型

第8节

from openerp import models, fields, api
from datetime import datetime

class class_name(models.TransientModel):
    _name = 'model.name'

    date_from = Fields.Datetime('From')
    date_to = Fields.Datetime('To')

    @api.one
    def filter_data(self):
        ### you will get all the defined fields of wizard here.
        from_date = self.date_from
        to_date = self.date_to

        ### add your own logic to pass search criteria to the source model
    ## Define your fields here and add them in xml file and define menu with appropreate action to open that wizard. 

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>

        <record model = "ir.ui.view" id = "view_id">
            <field name = "name">view.name</field>
            <field name = "model">model.name</field>
            <field name = "type">form</field>
            <field name = "arch" type = "xml">
                <form string = "String">
                    <sheet>
                        <group>
                            <field name="date_field_name" />
                        </group>
                        <footer>
                            <button name = "filter_data" string = "Search" type = "object" class = "oe_highlight"/>
                            <button string = "Cancel" class = "oe_link" special = "cancel"/>
                        </footer>
                    </sheet>
                </form>
            </field>
        </record>

        <act_window name = "Filter Data" 
                    res_model = "model.name"
                    src_model = "source.model.name"   ### specify source model in which you want to add this wizard 
                    view_mode = "form" 
                    view_type = "form"
                    multi="False"
                    target = "new" 
                    key2 = "client_action_multi"
                    id = "action_add_to_request2"
                    view_id = "view_id"/>
    </data>
</openerp>
从openerp导入模型、字段和api
从日期时间导入日期时间
类名称(models.TransientModel):
_name='model.name'
date\u from=字段。Datetime('from')
date\u to=字段。Datetime('to')
@api.1
def过滤器_数据(自身):
###您将在此处获得向导的所有已定义字段。
from\u date=self.date\u from
to_date=self.date_to
###添加您自己的逻辑以将搜索条件传递给源模型
##在此处定义字段,并将其添加到xml文件和“定义”菜单中,使用“批准”操作打开该向导。
view.name
model.name
形式

谢谢,如何将此按钮添加到视图中?我想当用户点击这个按钮时,日历就会出现。