数据错误 'invalid syntax for type timestamp' - Odoo v8

DataError 'invalid syntax for type timestamp' - Odoo v8

我正在尝试加载处于草稿状态的所有 sale.order 个对象,并尝试按日期过滤所有这些草稿,到目前为止,这是我所拥有的:

@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 上声明日期类型的域过滤器。

draft 域完美运行,我认为域串联也可以,日期域一定有东西。

有什么想法吗?

将百分号加倍可将其转义。如果您想将它用作格式说明符的一部分,那么您必须只有一个。