2

我正在使用 OpenERP-7.0 和 Ubuntu-10.04。

以下代码在 6.0 和 6.1 中运行良好,但在 7.0 中出现错误

这是我的代码:

   <record model="ir.actions.act_window" id="action_leave_not_accounted">
        <field name="name">Leaves to be Accounted</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">hr.holidays</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
        <field name="domain">[('date_from','&gt;=',(datetime.date.today()-relativedelta(weeks=1)).strftime('Y-%m-%d')),('holiday_status_id.name','in',['Annual','Termination','Resignation'])]</field>
        <field name="view_id" ref="hr_holidays.view_holiday_simple"/>
    </record>

我面临以下错误:

7.0/server/openerp/tools/safe_eval.py", line 241, in safe_eval return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict) File "", line 1, in <module> NameError: name 'datetime' is not defined

谁能帮帮我吗?

提前致谢。

4

4 回答 4

2

您只能在 XML Parsing 中使用时间。

[('date','<',time.strftime('%Y-%m-%d %H:%M:%S'))]

因此,您已将代码从 V6.1 修改为 V7.0

于 2013-02-05T09:57:27.717 回答
0

在 7.0 中使用context_today()而不是datetime.date.today()

于 2013-02-06T11:01:22.357 回答
0

试试这个它会工作:

<field name="domain">[('date_from', '&lt;', (context_today()-datetime.timedelta(weeks=1)).strftime('%Y-%m-%d'))]</field>
于 2013-02-07T07:19:29.770 回答
0

在 OpenERP 7 中它DateTime.today()不是datetime.date.today()

于 2013-02-05T09:52:21.033 回答