代码之家  ›  专栏  ›  技术社区  ›  NeoVe

DataError“类型时间戳的语法无效”-Odoo v8

  •  0
  • NeoVe  · 技术社区  · 7 年前

    我正在试着加载,好吗 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 回复  |  直到 7 年前
        1
  •  1
  •   Ignacio Vazquez-Abrams    7 年前

    将百分号加倍可以忽略它。如果要将其用作格式说明符的一部分,则必须只有一个。