details: https://code.tryton.org/tryton/commit/f54bcdb6ac81
branch: 7.8
user: Cédric Krier <[email protected]>
date: Sat Jan 03 19:17:20 2026 +0100
description:
Apply types to SQLite query for the getter of history datetime of
invoice
Closes #14463
(grafted from a5578ab6db855a7b52cdaecb3d1910e319f16e8e)
diffstat:
modules/account_invoice_history/account.py | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diffs (39 lines):
diff -r 31aef35415b6 -r f54bcdb6ac81 modules/account_invoice_history/account.py
--- a/modules/account_invoice_history/account.py Sat Jan 03 13:45:10
2026 +0100
+++ b/modules/account_invoice_history/account.py Sat Jan 03 19:17:20
2026 +0100
@@ -4,9 +4,10 @@
from sql.conditionals import Greatest
from sql.functions import CurrentTimestamp
+from trytond import backend
from trytond.model import ModelView, Workflow, fields
from trytond.pool import Pool, PoolMeta
-from trytond.tools import grouped_slice, reduce_ids
+from trytond.tools import grouped_slice, reduce_ids, sqlite_apply_types
from trytond.transaction import Transaction
@@ -43,7 +44,7 @@
invoice_ids = [i.id for i in invoices]
datetimes = dict.fromkeys(invoice_ids)
for ids in grouped_slice(invoice_ids):
- cursor.execute(*table
+ query = (table
.join(party, condition=table.party == party.id)
.join(address, condition=table.invoice_address == address.id)
.join(identifier, 'LEFT',
@@ -53,10 +54,13 @@
.select(table.id,
Greatest(table.numbered_at, party.create_date,
address.create_date, identifier.create_date,
- payment_term.create_date),
+ payment_term.create_date).as_('history_datetime'),
where=reduce_ids(table.id, ids)
& (table.numbered_at != Null)
& (table.state.in_(cls._history_states()))))
+ if backend.name == 'sqlite':
+ sqlite_apply_types(query, [None, 'DATETIME'])
+ cursor.execute(*query)
datetimes.update(cursor)
return datetimes