DataError'类型timestamp'的语法无效' - Odoo v8

时间:2017-08-26 23:08:02

标签: python openerp odoo-8

我正在尝试加载草稿状态下的所有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上声明日期类型的域过滤器。

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

加倍百分号逃脱它。如果你想将它作为格式说明符的一部分使用,那么你必须只有一个。