2017-08-26 52 views
0

我试图加载,在草稿状态的所有sale.order对象,并且还试图过滤所有这些草案的日期,到目前为止,这是我有:DataError“类型的时间戳无效语法” - Odoo V8

@api.multi 
@api.depends('sale_order') 
def _compute_amount_total(self): 
    draft_orders = self.env['sale.order'].search([('state', '=', 'draft'),('date_order','<=', time.strftime('%%Y-12-31')),('date_order','>=',time.strftime('%%Y-09-01'))]) 
    amount_total = sum(draft_orders.mapped('amount_total')) 
    for record in self: 
     record.amount_total = amount_total 

但是当我尝试访问此对我的看法,这是错误我得到:

2017-08-26 23:34:35,292 4868 ERROR bsi_def openerp.http: Exception during JSON request handling. 
Traceback (most recent call last): 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 546, in _handle_exception 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 583, in dispatch 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 319, in _call_function 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\service\model.py", line 118, in wrapper 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 316, in checked_call 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 812, in __call__ 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\http.py", line 412, in response_wrap 
File "C:\Program Files\Odoo 8.0-20170809\server\openerp\addons\web\controllers\main.py", line 944, in call_kw 
File "C:\Program Files\Odoo 8.0-20170809\server\openerp\addons\web\controllers\main.py", line 936, in _call_kw 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\api.py", line 268, in wrapper 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\api.py", line 399, in old_api 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\models.py", line 5955, in onchange 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\models.py", line 5657, in __getitem__ 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\fields.py", line 838, in __get__ 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\fields.py", line 946, in determine_draft_value 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\fields.py", line 885, in _compute_value 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\api.py", line 266, in wrapper 
File "C:\Program Files\Odoo 8.0-20170809\server\openerp\addons\account_budget_extended\models\models.py", line 170, in _compute_amount_total 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\api.py", line 266, in wrapper 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\api.py", line 508, in new_api 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\models.py", line 1650, in search 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\api.py", line 268, in wrapper 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\models.py", line 4708, in _search 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\sql_db.py", line 171, in wrapper 
File "C:\Program Files\Odoo 8.0-20170809\server\.\openerp\sql_db.py", line 247, in execute 
DataError: la sintaxis de entrada no es válida para tipo timestamp: «%Y-12-31» 
LINE 1: ...e" = 'draft') AND ("sale_order"."date_order" <= '%Y-12-31'... 

我觉得是Postgres的关系,但我不知道如何申报日期的域滤波键入Odoo的orm。

草案域的作品完美,我认为域连接也很好,必须有日期域的东西。

任何想法?

+1

我想这里有一个问题:'time.strftime('%% Y-12-31')'和'time.strftime('%% Y-09-01')',它应该是一个单一的'%'符号。 – sKwa

回答

1

将百分号加倍会将其转义。如果你想用它作为格式说明符的一部分,那么你只能有一个。

+0

大声笑,非常感谢 – NeoVe

相关问题