datetime在xml中不起作用

时间:2013-02-05 06:16:55

标签: python xml openerp

我正在使用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 个答案:

答案 0 :(得分:2)

您只能在XML解析中使用时间。

  

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

所以您已将代码从V6.1修改为V7.0

答案 1 :(得分:0)

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

答案 2 :(得分:0)

在7.0中使用context_today()代替datetime.date.today()

答案 3 :(得分:0)

试试这个会起作用:

<field name="domain">[('date_from', '&lt;', (context_today()-datetime.timedelta(weeks=1)).strftime('%Y-%m-%d'))]</field>